diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/filesystems/nfs/idmapper.txt | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/Documentation/filesystems/nfs/idmapper.txt b/Documentation/filesystems/nfs/idmapper.txt index c3852041a21f..b9b4192ea8b5 100644 --- a/Documentation/filesystems/nfs/idmapper.txt +++ b/Documentation/filesystems/nfs/idmapper.txt | |||
@@ -6,7 +6,7 @@ Id mapper is used by NFS to translate user and group ids into names, and to | |||
6 | translate user and group names into ids. Part of this translation involves | 6 | translate user and group names into ids. Part of this translation involves |
7 | performing an upcall to userspace to request the information. Id mapper will | 7 | performing an upcall to userspace to request the information. Id mapper will |
8 | user request-key to perform this upcall and cache the result. The program | 8 | user request-key to perform this upcall and cache the result. The program |
9 | /usr/sbin/nfs.upcall should be called by request-key, and will perform the | 9 | /usr/sbin/nfs.idmap should be called by request-key, and will perform the |
10 | translation and initialize a key with the resulting information. | 10 | translation and initialize a key with the resulting information. |
11 | 11 | ||
12 | NFS_USE_NEW_IDMAPPER must be selected when configuring the kernel to use this | 12 | NFS_USE_NEW_IDMAPPER must be selected when configuring the kernel to use this |
@@ -20,12 +20,12 @@ direct the upcall. The following line should be added: | |||
20 | 20 | ||
21 | #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... | 21 | #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... |
22 | #====== ======= =============== =============== =============================== | 22 | #====== ======= =============== =============== =============================== |
23 | create id_resolver * * /usr/sbin/nfs.upcall %k %d 600 | 23 | create id_resolver * * /usr/sbin/nfs.idmap %k %d 600 |
24 | 24 | ||
25 | This will direct all id_resolver requests to the program /usr/sbin/nfs.upcall. | 25 | This will direct all id_resolver requests to the program /usr/sbin/nfs.idmap. |
26 | The last parameter, 600, defines how many seconds into the future the key will | 26 | The last parameter, 600, defines how many seconds into the future the key will |
27 | expire. This parameter is optional for /usr/sbin/nfs.upcall. When the timeout | 27 | expire. This parameter is optional for /usr/sbin/nfs.idmap. When the timeout |
28 | is not specified, nfs.upcall will default to 600 seconds. | 28 | is not specified, nfs.idmap will default to 600 seconds. |
29 | 29 | ||
30 | id mapper uses for key descriptions: | 30 | id mapper uses for key descriptions: |
31 | uid: Find the UID for the given user | 31 | uid: Find the UID for the given user |
@@ -39,29 +39,29 @@ would edit your request-key.conf so it look similar to this: | |||
39 | 39 | ||
40 | #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... | 40 | #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... |
41 | #====== ======= =============== =============== =============================== | 41 | #====== ======= =============== =============== =============================== |
42 | create id_resolver uid:* * /some/other/program %k %d 600 | 42 | create id_resolver uid:* * /some/other/program %k %d 600 |
43 | create id_resolver * * /usr/sbin/nfs.upcall %k %d 600 | 43 | create id_resolver * * /usr/sbin/nfs.idmap %k %d 600 |
44 | 44 | ||
45 | Notice that the new line was added above the line for the generic program. | 45 | Notice that the new line was added above the line for the generic program. |
46 | request-key will find the first matching line and corresponding program. In | 46 | request-key will find the first matching line and corresponding program. In |
47 | this case, /some/other/program will handle all uid lookups and | 47 | this case, /some/other/program will handle all uid lookups and |
48 | /usr/sbin/nfs.upcall will handle gid, user, and group lookups. | 48 | /usr/sbin/nfs.idmap will handle gid, user, and group lookups. |
49 | 49 | ||
50 | See <file:Documentation/keys-request-keys.txt> for more information about the | 50 | See <file:Documentation/keys-request-keys.txt> for more information about the |
51 | request-key function. | 51 | request-key function. |
52 | 52 | ||
53 | 53 | ||
54 | ========== | 54 | ========= |
55 | nfs.upcall | 55 | nfs.idmap |
56 | ========== | 56 | ========= |
57 | nfs.upcall is designed to be called by request-key, and should not be run "by | 57 | nfs.idmap is designed to be called by request-key, and should not be run "by |
58 | hand". This program takes two arguments, a serialized key and a key | 58 | hand". This program takes two arguments, a serialized key and a key |
59 | description. The serialized key is first converted into a key_serial_t, and | 59 | description. The serialized key is first converted into a key_serial_t, and |
60 | then passed as an argument to keyctl_instantiate (both are part of keyutils.h). | 60 | then passed as an argument to keyctl_instantiate (both are part of keyutils.h). |
61 | 61 | ||
62 | The actual lookups are performed by functions found in nfsidmap.h. nfs.upcall | 62 | The actual lookups are performed by functions found in nfsidmap.h. nfs.idmap |
63 | determines the correct function to call by looking at the first part of the | 63 | determines the correct function to call by looking at the first part of the |
64 | description string. For example, a uid lookup description will appear as | 64 | description string. For example, a uid lookup description will appear as |
65 | "uid:user@domain". | 65 | "uid:user@domain". |
66 | 66 | ||
67 | nfs.upcall will return 0 if the key was instantiated, and non-zero otherwise. | 67 | nfs.idmap will return 0 if the key was instantiated, and non-zero otherwise. |