Re: [PATCH] cifs-utils: Create man pages for cifs.idmap program

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux