Whamcloud - gitweb
LU-16901 utils: l_getidentity with nss module support
[fs/lustre-release.git] / lustre / doc / l_getidentity.8
1 .TH l_getidentity 1 "Dec 7, 2016" Lustre "utilities"
2 .SH NAME
3 l_getidentity \- Handle Lustre user/group cache upcall
4 .SH SYNOPSIS
5 .B "l_getidentity {-d | mdtname} uid"
6 .SH DESCRIPTION
7 The identity upcall command specifies the path to an executable that,
8 when properly installed, is invoked to resolve the numeric
9 .I uid
10 to a group membership list.
11 .LP
12 .B l_getidentity
13 is the reference implementation of the user/group cache upcall.
14 This command is normally run directly by the Lustre MDS service
15 and specifies the
16 .I mdtname
17 argument for the MDT that should be updated.
18 .br
19 .SS "The permissions file"
20 .PP
21 .I /etc/lustre/perm.conf
22 supports a flat file database of permissions in the format
23 .br
24  UID<space>NID<space>perm1,perm2,...,permN
25 .br
26
27 .br
28 where
29 .B perm
30 is one of:
31 .I [no]setuid
32 .I [no]setgid
33 .I [no]setgrp
34 .I [no]rmtacl
35 .I [no]rmtown
36 .br
37  
38 .br
39 .BR nss (5)
40 modules can be enabled for auth handling by adding a 
41 .B lookup 
42 command with a list of nss modules to the first line of
43 .BR perm.conf
44 .br
45 At the time of writing, known 
46 .BR nss (5)
47 modules include:
48 .BR lustre ", " nss_files ", " ldap ", " nis ", " sss ", and" systemd
49 additional modules may be documented in
50 .BR nsswitch.conf (5)
51 or installed separately.
52 .br
53  
54 .br
55 .BR nss (5)
56 modules are searched in order. Once an entry is found in
57 the module no further modules are searched.
58 .br
59  
60 .br
61 A special
62 .B lustre
63 module is used to enable lustre specific password and group
64 auth by way of
65 .B /etc/lustre/passwd
66 and
67 .B /etc/lustre/group
68 .br
69  
70 .br
71 For historical reasons
72 .B files
73 was originally used instead in place of
74 .B lustre
75 to enable auth by lustre files. At the time of writing
76 .B files
77 is still widely used where
78 .B lustre
79 is intended. This alias will be officially deprecated in a future release.
80 As an alternative
81 .B nss_files
82 can be specified for the
83 .BR nss (5)
84 .B files
85 module.
86 .SH OPTIONS
87 .TP
88 .B -d
89 Run in debug mode and print supplementary groups information for
90 .I uid
91 to
92 .B stdout
93 instead of updating Lustre.
94 .SH EXAMPLES
95 The identity upcall command can be specified via:
96 .br
97 .RI "lctl set_param mdt." mdtname .identity_upcall= path_to_upcall
98 .br
99  
100 .br
101 Enable lustre auth and ldap
102 .br
103  [/etc/lustre/perm.conf]
104 .br
105 .B lookup lustre ldap
106 .br
107  
108 .br
109  [/etc/lustre/passwd]
110 .br
111   root:x:0:0:root:/root:/bin/bash
112 .br
113   ...
114 .br
115  [/etc/lustre/group]
116 .br
117   root:x:0:root
118 .br
119   ...
120 .br
121 Lustre passwd and group files use the same format as the system 
122 .BR passwd (5)
123 and
124 .BR group (5)
125 files.
126 .br
127 In this configuration root is local to the cluster and all other perms are delegated to ldap.
128 .br
129 .SH LIMITS
130 A maximum of 8 nss modules can be enabled.
131 .b4
132 .SH FILES
133 .RI /{proc,sys}/fs/lustre/mdt/ mdt-service /identity_upcall
134 .br
135 .RI /etc/lustre/perm.conf
136 .br
137 .RI /etc/lustre/passwd
138 .br
139 .RI /etc/lustre/group
140 .SH SEE ALSO
141 .BR nss (5),
142 .BR passwd (5),
143 .BR group (5)
144 .br
145 Lustre Programming Interfaces section of Lustre Operations Manual.