1 | Configuring NFS4 ACLs in Samba3
|
---|
2 | ===============================
|
---|
3 | Created: Peter Somogyi, 2006-JUN-06
|
---|
4 | Last modified: Peter Somogyi, 2006-JUL-20
|
---|
5 | Revision no.: 4
|
---|
6 | -------------------------------
|
---|
7 |
|
---|
8 |
|
---|
9 | Parameters in smb.conf:
|
---|
10 | =======================
|
---|
11 |
|
---|
12 | Each parameter must have a prefix "nfs4:".
|
---|
13 | Each one affects the behaviour only when _setting_ an acl on a file/dir:
|
---|
14 |
|
---|
15 | mode = [simple|special]
|
---|
16 | - simple: don't use OWNER@ and GROUP@ special IDs in ACEs. - default
|
---|
17 | - special: use OWNER@ and GROUP@ special IDs in ACEs instead of simple user&group ids.
|
---|
18 | Note: EVERYONE@ is always processed (if found such an ACE).
|
---|
19 | Note2: special mode will have side effect when _only_ chown is performed. Later this may be worked out.
|
---|
20 |
|
---|
21 | Use "simple" mode when the share is used mainly by windows users and unix side is not significant. You will loose unix bits in this case.
|
---|
22 | It's strongly advised setting "store dos attributes = yes" in smb.conf.
|
---|
23 |
|
---|
24 | chown = [true|false]
|
---|
25 | - true => enable changing owner and group - default.
|
---|
26 | - false => disable support for changing owner or group
|
---|
27 |
|
---|
28 | acedup = [dontcare|reject|ignore|merge]
|
---|
29 | - dontcare: copy ACEs as they come, don't care with "duplicate" records. Default.
|
---|
30 | - reject: stop operation, exit acl setter operation with an error
|
---|
31 | - ignore: don't include the second matching ACE
|
---|
32 | - merge: OR 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE
|
---|
33 |
|
---|
34 | Two ACEs are considered here "duplicate" when their type and id fields are matching.
|
---|
35 |
|
---|
36 | Example:
|
---|
37 |
|
---|
38 | [smbtest]
|
---|
39 | path = /tests/psomogyi/smbtest
|
---|
40 | writable = yes
|
---|
41 | vfs objects = aixacl2
|
---|
42 | nfs4: mode = special
|
---|
43 | nfs4: chown = yes
|
---|
44 | nfs4: acedup = merge
|
---|
45 |
|
---|
46 | Configuring AIX ACL support
|
---|
47 | ==============================
|
---|
48 |
|
---|
49 | Binaries: (default install path is [samba]/lib/vfs/)
|
---|
50 | - aixacl.so: provides AIXC ACL support only, can be compiled and works on all AIX platforms
|
---|
51 | - aixacl2.so: provides AIXC and JFS2-NFS4 ACL support, can be compiled and works only under AIX 5.3 and newer.
|
---|
52 | NFS4 acl currently has support only under JFS2 (ext. attr. format must be set to v2).
|
---|
53 | aixacl2.so always detects support for NFS4 acls and redirects to POSIX ACL handling automatically when NFS4 is not supported for a path.
|
---|
54 |
|
---|
55 | Adding "vfs objects = aixacl2" to a share should be done only in case when NFS4 is really supported by the filesystem.
|
---|
56 | (Otherwise you may get performance loss.)
|
---|
57 |
|
---|
58 | For configuration see also the example above.
|
---|
59 |
|
---|
60 | General notes
|
---|
61 | =============
|
---|
62 |
|
---|
63 | NFS4 handling logic is separated from AIX/jfs2 ACL parsing.
|
---|
64 |
|
---|
65 | Samba and its VFS modules dosn't reorder ACEs. Windows clients do that (and the smbcacl tool). MSDN also says deny ACEs must come first.
|
---|
66 | NFS4 ACL's validity is checked by the system API, not by Samba.
|
---|
67 | NFS4 ACL rights are enforced by the OS or filesystem, not by Samba.
|
---|
68 |
|
---|
69 | The flag INHERITED_ACE is never set (not required, as doesn't do WinNT/98/me, only since Win2k).
|
---|
70 | Win2k GUI behaves strangely when detecting inheritance (sometimes it doesn't detect,
|
---|
71 | but after adding an ace it shows that - it's some GUI error).
|
---|
72 |
|
---|
73 | Unknown (unmappable) SIDs are not accepted.
|
---|
74 |
|
---|
75 | TODOs
|
---|
76 | =====
|
---|
77 | - Creator Owner & Group SID handling (same way as posix)
|
---|
78 | - the 4 generic rights bits support (GENERIC_RIGHT_READ_ACCESS, WRITE, EXEC, ALL)
|
---|
79 | - chown & no ACL, but we have ONWER@ and GROUP@
|
---|
80 | - DIALUP, ANONYMOUS, ... builtin SIDs
|
---|
81 | - audit & alarm support - in theory it's forwarded so it should work, but currently there's no platform which supports them to test
|
---|
82 | - support for a real NFS4 client (we don't have an accepted API yet)
|
---|