On Wed, Jun 1, 2011 at 7:56 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: > On Thu, 26 May 2011 18:37:55 -0500 > shirishpargaonkar@xxxxxxxxx wrote: > >> From: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> >> >> >> Create man pages for program cifs.idmap >> Enable cifs.idmap config option by default. >> >> >> Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> >> --- >> Makefile.am | 7 +++++ >> cifs.idmap.8.in | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> configure.ac | 4 +- >> 3 files changed, 88 insertions(+), 2 deletions(-) >> create mode 100644 cifs.idmap.8.in >> >> diff --git a/Makefile.am b/Makefile.am >> index 6046369..9066531 100644 >> --- a/Makefile.am >> +++ b/Makefile.am >> @@ -37,4 +37,11 @@ if CONFIG_CIFSIDMAP >> sbin_PROGRAMS += cifs.idmap >> cifs_idmap_SOURCES = cifs.idmap.c >> cifs_idmap_LDADD = -lkeyutils $(WINB_LDADD) >> +man_MANS += cifs.idmap.8 >> + >> +cifs.idmap.8: cifs.idmap.8.in >> + $(SED) 's,[@]sbindir@,$(sbindir),' $(srcdir)/$@.in > $@-t && mv $@-t $@ >> + >> +clean-local: >> + rm -f cifs.idmap.8 cifs.idmap.8-t >> endif > ^^^^^^^^^^^^ > I don't think you're allowed to have more than clean-local target in > the makefile. Fixed it. > >> diff --git a/cifs.idmap.8.in b/cifs.idmap.8.in >> new file mode 100644 >> index 0000000..9f4680e >> --- /dev/null >> +++ b/cifs.idmap.8.in >> @@ -0,0 +1,79 @@ >> +'\" t >> +.\" Title: cifs.idmap >> +.\" Author: [see the "AUTHOR" section] >> +.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> >> +.\" Date: 05/26/2011 >> +.\" Manual: System Administration tools >> +.\" Source: cifs-utils 4.0 >> +.\" Language: English >> +.\" >> +.TH "CIFS\&.IDMAP" "8" "05/26/2011" "cifs-utils 4\&.0" "System Administration tools" >> +.\" ----------------------------------------------------------------- >> +.\" * set default formatting >> +.\" ----------------------------------------------------------------- >> +.\" disable hyphenation >> +.nh >> +.\" disable justification (adjust text to left margin only) >> +.ad l >> +.\" ----------------------------------------------------------------- >> +.\" * MAIN CONTENT STARTS HERE * >> +.\" ----------------------------------------------------------------- >> +.SH "NAME" >> +cifs.idmap \- Userspace helper for mapping ids for Common Internet File System (CIFS) >> +.SH "SYNOPSIS" >> +.HP \w'\ 'u >> +cifs\&.idmap [\-\-version|\-v] {keyid} >> +.SH "DESCRIPTION" >> +.PP >> +This tool is part of the cifs-utils suite\&. >> +.PP >> +cifs\&.idmap is a userspace helper program for the linux CIFS client filesystem\&. There are a number of activities that the kernel cannot easily do itself\&. This program is a callout program that does these things for the kernel and then returns the result\&. >> +.PP >> +cifs\&.idmap is generally intended to be run when the kernel calls request\-key(8) >> +for a particular key type\&. While it can be run directly from the command\-line, it is not generally intended to be run that way\&. >> +.PP >> +cifs\&.idmap works in conjuction with winbind facility of Samba suite to map owner and group SIDs to uids and gids respectively. It is best utilized when a mount option of cifsacl is specified when mounting a cifs share, winbind is specified as one of the search entries for passwd and group databases in file /etc/nsswitch.conf, file smb.conf has winbind specific entries, and winbind daemon program is running. > ^^^^^^^^^^^^^^ > This is a rather long sentence. Perhaps this should be an > enumerated or bulleted list of recommendations instead? > Working on it. >> It is also strongly recomemended to use mount options of uid and gid to specify a default uid and gid to map owner SIDs and group SIDs respectively in case services of winbind facility are unavailable. > ^^^^^ > What happens if I don't do this? If the setup is correct and everything is working (e.g. winbind is running), the uid and gid of a file on a mapped share would be a winbind-mappeduid and gid with name at the server (fetched by winbind). If not, and uid and/or gid mount options are not specified, the uid and/or gid assgined to a file on the mounted share would be that assigned in cred of the process doing the mount of the share? > >> +.SH "OPTIONS" >> +.PP >> +\-\-version|\-v >> +.RS 4 >> +Print version number and exit\&. >> +.RE >> +.SH "CONFIGURATION FOR KEYCTL" >> +.PP >> +cifs\&.idmap is designed to be called from the kernel via the request\-key callout program\&. This requires that request\-key be told where and how to call this program\&. Currently cifs\&.idmap handles a key type of: >> +.PP >> +cifs\&.idmap >> +.RS 4 >> +This keytype is for mapping a SID to either an uid or a gid >> +.RE >> +.PP >> +To make this program useful for CIFS, you will need to set up entry for it in request\-key\&.conf(5)\&. Here is an example of an entry for this key type: >> +.sp >> +.if n \{\ >> +.RS 4 >> +.\} >> +.nf >> +#OPERATION TYPE D C PROGRAM ARG1 ARG2\&.\&.\&. >> +#========= ============= = = ================================ >> +create cifs\&.idmap * * @sbindir@/cifs\&.idmap %k > ^^^^^^^^^^^ > nit: alignment of the columns is off >> +.fi >> +.if n \{\ >> +.RE >> +.\} >> +.PP >> +See >> +\fBrequest-key.conf5\fR() >> +for more info on each field\&. >> +.SH "SEE ALSO" >> +.PP >> + >> +\fBrequest-key.conf\fR(5), >> +\fBmount.cifs\fR(8) >> +.SH "AUTHOR" >> +.PP >> +Shirish Pargaonkar wrote the cifs\&.idmap program\&. >> +.PP >> +The >> +Linux CIFS Mailing list >> +is the preferred place to ask questions regarding these programs\&. >> diff --git a/configure.ac b/configure.ac >> index 6cac703..d7e21c9 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -26,7 +26,7 @@ AC_ARG_ENABLE(cifsidmap, >> [AC_HELP_STRING([--enable-cifsidmap], >> [Create cifs.idmap binary @<:@default=no@:>@])], >> enable_cifsidmap=$enableval, >> - enable_cifsidmap="no") >> + enable_cifsidmap="maybe") >> >> # Checks for programs. >> AC_PROG_CC >> @@ -152,7 +152,7 @@ LIBS=$cu_saved_libs >> >> AM_CONDITIONAL(CONFIG_CIFSUPCALL, [test "$enable_cifsupcall" != "no"]) >> AM_CONDITIONAL(CONFIG_CIFSCREDS, [test "$enable_cifscreds" = "yes"]) >> -AM_CONDITIONAL(CONFIG_CIFSIDMAP, [test "$enable_cifsidmap" = "yes"]) >> +AM_CONDITIONAL(CONFIG_CIFSIDMAP, [test "$enable_cifsidmap" != "no"]) >> >> LIBCAP_NG_PATH >> > > I think you need a bit more in configure.ac to build this by default. Right now I can build cifs.idmap without any cifs-idmap related options to configure. Not sure what is missing. > You'll also need to fix the check for keyutils.h when $enable_cifsidmap > = "maybe" I think I was missing else clause, right? > > -- > Jeff Layton <jlayton@xxxxxxxxxx> > -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html