On Wed, 1 Jun 2011 11:24:21 -0500 Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> wrote: > 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? > Sorry, my point was that this should be documented in the manpage. It should be very clear as to what happens if those aren't set. > > > >> +.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? Yes. If keyutils.h isn't present now, then configure with no options will error out rather than just disabling the cifs.idmap build. -- 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