On Wed, 1 Jun 2011 11:24:21 -0500
Shirish Pargaonkar <[email protected]> wrote:

> On Wed, Jun 1, 2011 at 7:56 AM, Jeff Layton <[email protected]> wrote:
> > On Thu, 26 May 2011 18:37:55 -0500
> > [email protected] wrote:
> >
> >> From: Shirish Pargaonkar <[email protected]>
> >>
> >>
> >> Create man pages for program cifs.idmap
> >> Enable cifs.idmap config option by default.
> >>
> >>
> >> Signed-off-by: Shirish Pargaonkar <[email protected]>
> >> ---
> >>  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)/[email protected] > $@-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 <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to