dbbfbbb96248cbee7c6a4bf4d7029c3f2b211772
[nfs-utils.git] / utils / gssd / gssd.man
1 .\"
2 .\" rpc.gssd(8)
3 .\"
4 .\" Copyright (C) 2003 J. Bruce Fields <bfields@umich.edu>
5 .TH rpc.gssd 8 "14 Mar 2007"
6 .SH NAME
7 rpc.gssd \- rpcsec_gss daemon
8 .SH SYNOPSIS
9 .B rpc.gssd
10 .RB [ \-fMnlvr ]
11 .RB [ \-k
12 .IR keytab ]
13 .RB [ \-p
14 .IR pipefsdir ]
15 .RB [ \-d
16 .IR ccachedir ]
17 .RB [ \-t
18 .IR timeout ]
19 .RB [ \-R
20 .IR realm ]
21 .SH DESCRIPTION
22 The rpcsec_gss protocol gives a means of using the gss-api generic security
23 api to provide security for protocols using rpc (in particular, nfs).  Before
24 exchanging any rpc requests using rpcsec_gss, the rpc client must first
25 establish a security context.  The linux kernel's implementation of rpcsec_gss
26 depends on the userspace daemon
27 .B rpc.gssd
28 to establish security contexts.  The
29 .B rpc.gssd
30 daemon uses files in the rpc_pipefs filesystem to communicate with the kernel.
31
32 .SH OPTIONS
33 .TP
34 .B -f
35 Runs
36 .B rpc.gssd
37 in the foreground and sends output to stderr (as opposed to syslogd)
38 .TP
39 .B -n
40 By default,
41 .B rpc.gssd
42 treats accesses by the user with UID 0 specially, and uses
43 "machine credentials" for all accesses by that user which
44 require Kerberos authentication.
45 With the \-n option, "machine credentials" will not be used
46 for accesses by UID 0.  Instead, credentials must be obtained
47 manually like all other users.  Use of this option means that
48 "root" must manually obtain Kerberos credentials before
49 attempting to mount an nfs filesystem requiring Kerberos
50 authentication.
51 .TP
52 .BI "-k " keytab
53 Tells
54 .B rpc.gssd
55 to use the keys found in
56 .I keytab
57 to obtain "machine credentials".
58 The default value is
59 .I /etc/krb5.keytab.
60 .IP
61 Previous versions of
62 .B rpc.gssd
63 used only "nfs/*" keys found within the keytab.
64 To be more consistent with other implementations, we now look for
65 specific keytab entries.  The search order for keytabs to be used
66 for "machine credentials" is now:
67 .br
68   <HOSTNAME>$@<REALM>
69 .br
70   root/<hostname>@<REALM>
71 .br
72   nfs/<hostname>@<REALM>
73 .br
74   host/<hostname>@<REALM>
75 .br
76   root/<anyname>@<REALM>
77 .br
78   nfs/<anyname>@<REALM>
79 .br
80   host/<anyname>@<REALM>
81 .IP
82 If this search order does not use the correct key then provide a
83 keytab file that contains only correct keys.
84 .TP
85 .B -l
86 Tells
87 .B rpc.gssd
88 to limit session keys to Single DES even if the kernel supports stronger
89 encryption types. Service ticket encryption is still governed by what
90 the KDC believes the target server supports. This way the client can
91 access a server that has strong keys in its keytab for ticket decryption
92 but whose kernel only supports Single DES.
93 .IP
94 The alternative is to put only Single DES keys in the server's keytab
95 and limit encryption types for its principal to Single DES on the KDC
96 which will cause service tickets for this server to be encrypted using
97 only Single DES and (as a side-effect) contain only Single DES session
98 keys.
99 .IP
100 This legacy behaviour is only required for older servers
101 (pre nfs-utils-1.2.4). If the server has a recent kernel, Kerberos
102 implementation and nfs-utils it will work just fine with stronger
103 encryption.
104 .IP
105 .B Note:
106 This option is only available with Kerberos libraries that 
107 support setable encryption types.
108 .TP
109 .BI "-p " path
110 Tells
111 .B rpc.gssd
112 where to look for the rpc_pipefs filesystem.  The default value is
113 .IR /var/lib/nfs/rpc_pipefs .
114 .TP
115 .BI "-d " search-path
116 This option specifies a colon separated list of directories that
117 .B rpc.gssd
118 searches for credential files.  The default value is
119 .IR /tmp:/run/user/%U .
120 The literal sequence "%U" can be specified to substitue the UID
121 of the user for whom credentials are being searched.
122 .TP
123 .B -M
124 By default, machine credentials are stored in files in the first
125 directory in the credential directory search path (see the
126 .B -d
127 option).  When
128 .B -M
129 is set,
130 .B rpc.gssd
131 stores machine credentials in memory instead.
132 .TP
133 .B -v
134 Increases the verbosity of the output (can be specified multiple times).
135 .TP
136 .B -r
137 If the rpcsec_gss library supports setting debug level,
138 increases the verbosity of the output (can be specified multiple times).
139 .TP
140 .BI "-R " realm
141 Kerberos tickets from this
142 .I realm
143 will be preferred when scanning available credentials cache files to be
144 used to create a context.  By default, the default realm, as configured
145 in the Kerberos configuration file, is preferred.
146 .TP
147 .BI "-t " timeout
148 Timeout, in seconds, for kernel gss contexts. This option allows you to force 
149 new kernel contexts to be negotiated after
150 .I timeout
151 seconds, which allows changing Kerberos tickets and identities frequently.
152 The default is no explicit timeout, which means the kernel context will live
153 the lifetime of the Kerberos service ticket used in its creation.
154 .SH SEE ALSO
155 .BR rpc.svcgssd(8)
156 .SH AUTHORS
157 .br
158 Dug Song <dugsong@umich.edu>
159 .br
160 Andy Adamson <andros@umich.edu>
161 .br
162 Marius Aamodt Eriksen <marius@umich.edu>
163 .br
164 J. Bruce Fields <bfields@umich.edu>