From patchwork Wed Jun 1 18:11:42 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shirish Pargaonkar X-Patchwork-Id: 841342 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.3) with ESMTP id p51I6rBB006080 for ; Wed, 1 Jun 2011 18:06:53 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754007Ab1FASGw (ORCPT ); Wed, 1 Jun 2011 14:06:52 -0400 Received: from mail-gx0-f174.google.com ([209.85.161.174]:59870 "EHLO mail-gx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752823Ab1FASGw (ORCPT ); Wed, 1 Jun 2011 14:06:52 -0400 Received: by gxk21 with SMTP id 21so21225gxk.19 for ; Wed, 01 Jun 2011 11:06:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer; bh=0KKfSC8bz9Twtfs2Mg6etGChzcjKjnI9hJLoBpRa5Ks=; b=EkUgIXjeM8Szojw6zZTjuMj6JAWKJZLshg2RVTFgx/bN90t7soY2e5D21r8VhmK73u eL5TGJ/wFBnvhEVfwRqPP3lc+wqcPQKIASg8fwFRzagyevnquGIF/Yk/XB3WRKNxG2up cCcXeRB4xCt4Lc11BYCYcJZZ5zkKBGzGrgxpk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=Xyh52DdluH2AzCSpGbaBs5kTdlyEhF1InODtCooGGjcyNGmw8ub3lelXReiK/GiPjs NT0R4xtpnhtTnqygR9R7BLuoh1bithSehchCaYOt4wfCmmsGHKpsxyUfUrub4Aie8O01 +neSPVnsGt5aUXZiiT019cs0I/KjkVXwgWHFw= Received: by 10.150.187.1 with SMTP id k1mr6283390ybf.5.1306951611070; Wed, 01 Jun 2011 11:06:51 -0700 (PDT) Received: from localhost ([32.97.110.58]) by mx.google.com with ESMTPS id x20sm507508ybe.17.2011.06.01.11.06.49 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 01 Jun 2011 11:06:49 -0700 (PDT) From: shirishpargaonkar@gmail.com To: jlayton@redhat.com Cc: linux-cifs@vger.kernel.org, Shirish Pargaonkar Subject: [PATCH] cifs-utils: Create man pages for cifs.idmap program (try #2) Date: Wed, 1 Jun 2011 13:11:42 -0500 Message-Id: <1306951902-14115-1-git-send-email-shirishppargaonkar@gmail.com> X-Mailer: git-send-email 1.6.0.2 Sender: linux-cifs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Wed, 01 Jun 2011 18:06:53 +0000 (UTC) From: Shirish Pargaonkar Create man pages for program cifs.idmap Enable cifs.idmap config option by default. Signed-off-by: Shirish Pargaonkar --- 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)/$@.in > $@-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)/$@.in > $@-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 +.\" 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