On Wed,  1 Jun 2011 13:11:42 -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     |   14 ++++++++-
>  cifs.idmap.8.in |   90 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  configure.ac    |    7 +++-
>  3 files changed, 108 insertions(+), 3 deletions(-)
>  create mode 100644 cifs.idmap.8.in
> 
> diff --git a/Makefile.am b/Makefile.am
> index 6046369..4938447 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -9,6 +9,7 @@ mount_cifs_LDADD = $(LIBCAP) $(CAPNG_LDADD)
>  man_MANS = mount.cifs.8
>  
>  sbin_PROGRAMS =
> +clean-local: clean-local-upcall clean-local-idmap
>  
>  if CONFIG_CIFSUPCALL
>  sbin_PROGRAMS += cifs.upcall
> @@ -22,8 +23,10 @@ man_MANS += cifs.upcall.8
>  #
>  cifs.upcall.8: cifs.upcall.8.in
>       $(SED) 's,[@]sbindir@,$(sbindir),' $(srcdir)/[email protected] > $@-t && mv $@-t $@
> +endif
>  
> -clean-local:
> +clean-local-upcall:
> +if CONFIG_CIFSUPCALL
>       rm -f cifs.upcall.8 cifs.upcall.8-t
>  endif
>  
> @@ -37,4 +40,13 @@ 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 $@
> +endif
> +
> +clean-local-idmap:
> +if CONFIG_CIFSIDMAP
> +     rm -f cifs.idmap.8 cifs.idmap.8-t
>  endif
> diff --git a/cifs.idmap.8.in b/cifs.idmap.8.in
> new file mode 100644
> index 0000000..fb2e826
> --- /dev/null
> +++ b/cifs.idmap.8.in
> @@ -0,0 +1,90 @@
> +'\" 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
> +.br
> +\t\- a mount option of cifsacl is specified when mounting a cifs share
> +.br
> +\t\- winbind is specified as one of the search entries for passwd and group 
> databases in file /etc/nsswitch.conf
> +.br
> +\t\- file smb.conf has winbind specific entries
> +.br
> +\t\- winbind daemon program is running
> +.br
> +.sp
> +In case winbind and cifs.idmap facilities are unavailable, file objects in a 
> mounted share are assigned uid and gid of the credentials of the process that 
> mounted the share.  So it is 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 and cifs.idmap facility are 
> unavailable.  
> +.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
> +.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..e21f23e 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
> @@ -88,6 +88,9 @@ if test $enable_cifsupcall != "no" -o $enable_cifsidmap != 
> "no"; then
>                               fi
>                               if test "$enable_cifsidmap" = "yes"; then
>                                       AC_MSG_ERROR([keyutils.h not found, 
> consider installing keyutils-libs-devel.])
> +                             else
> +                                     AC_MSG_WARN([keyutils.h not found, 
> consider installing keyutils-libs-devel. Disabling cifs.idmap.])
> +                                     enable_cifsidmap="no"
>                               fi
>                       ])
>  fi
> @@ -152,7 +155,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
>  

Committed, along with a patch to clean up a few whitespace and minor manpage 
nits.

-- 
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