]> arthur.barton.de Git - netatalk.git/blob - man/man8/afp_acls.8.tmpl
build.sh is obsolete
[netatalk.git] / man / man8 / afp_acls.8.tmpl
1 .\"     Title: afp_acls
2 .\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
3 .\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/>
4 .\"      Date: 31-01-2009
5 .\"    Manual: Netatalk 2.0 Manual
6 .\"    Source: :NETATALK_VERSION:
7 .\"  Language: English
8 .\"
9 .TH "AFP_ACLS" "8" "31-01-2009" ":NETATALK_VERSION:" "Netatalk 2.0 Manual"
10 .\" -----------------------------------------------------------------
11 .\" * (re)Define some macros
12 .\" -----------------------------------------------------------------
13 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 .\" BB/BE - put background/screen (filled box) around block of text
15 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16 .de BB
17 .if t \{\
18 .sp -.5
19 .br
20 .in +2n
21 .ll -2n
22 .gcolor red
23 .di BX
24 .\}
25 ..
26 .de EB
27 .if t \{\
28 .if "\\$2"adjust-for-leading-newline" \{\
29 .sp -1
30 .\}
31 .br
32 .di
33 .in
34 .ll
35 .gcolor
36 .nr BW \\n(.lu-\\n(.i
37 .nr BH \\n(dn+.5v
38 .ne \\n(BHu+.5v
39 .ie "\\$2"adjust-for-leading-newline" \{\
40 \M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
41 .\}
42 .el \{\
43 \M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
44 .\}
45 .in 0
46 .sp -.5v
47 .nf
48 .BX
49 .in
50 .sp .5v
51 .fi
52 .\}
53 ..
54 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 .\" BM/EM - put colored marker in margin next to block of text
56 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57 .de BM
58 .if t \{\
59 .br
60 .ll -2n
61 .gcolor red
62 .di BX
63 .\}
64 ..
65 .de EM
66 .if t \{\
67 .br
68 .di
69 .ll
70 .gcolor
71 .nr BH \\n(dn
72 .ne \\n(BHu
73 \M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
74 .in 0
75 .nf
76 .BX
77 .in
78 .fi
79 .\}
80 ..
81 .\" -----------------------------------------------------------------
82 .\" * set default formatting
83 .\" -----------------------------------------------------------------
84 .\" disable hyphenation
85 .nh
86 .\" disable justification (adjust text to left margin only)
87 .ad l
88 .\" -----------------------------------------------------------------
89 .\" * MAIN CONTENT STARTS HERE *
90 .\" -----------------------------------------------------------------
91 .SH "Name"
92 afp_acls \- Setup and Usage Howto for ACLs with Netatalk
93 .SH "Description"
94 .PP
95 ACL support for AFP is implemented with NFSv4 ACLs\&. Few filesystems and fewer OSes support these\&. At the time of implementation its only provided with ZFS on Solaris, Opensolaris and derived distributions\&.
96 .SH "Configuration"
97 .PP
98 In order to be able to support ACLs, the following things have to be configured:
99 .sp
100 .RS 4
101 .ie n \{\
102 \h'-04' 1.\h'+01'\c
103 .\}
104 .el \{\
105 .sp -1
106 .IP "  1." 4.2
107 .\}
108 ZFS Volumes
109 .sp
110 You MUST configure two ACL parameters for any volume you want to use with Netatalk:
111 .sp
112 .if n \{\
113 .RS 4
114 .\}
115 .fam C
116 .ps -1
117 .nf
118 .BB lightgray
119 aclinherit = passthrough
120 aclmode = passthrough
121 .EB lightgray
122 .fi
123 .fam
124 .ps +1
125 .if n \{\
126 .RE
127 .\}
128 .sp
129 For an explanation of what these parameters mean and how to apply them see, your hosts ZFS documentation (e\&.g\&. man zfs)\&.
130 .RE
131 .sp
132 .RS 4
133 .ie n \{\
134 \h'-04' 2.\h'+01'\c
135 .\}
136 .el \{\
137 .sp -1
138 .IP "  2." 4.2
139 .\}
140 Authentication Domain
141 .sp
142 Your server and the clients must be part of a security association where identity data is coming from a common source\&. ACLs in Darwin are based on UUIDs and so is the ACL specification in AFP 3\&.2\&. Therefor your source of identity data has to provide an attribute for every user and group where a UUID is stored as a ASCII string\&.
143 .sp
144 In other words:
145 .sp
146 .RS 4
147 .ie n \{\
148 \h'-04'\(bu\h'+03'\c
149 .\}
150 .el \{\
151 .sp -1
152 .IP \(bu 2.3
153 .\}
154 you need an Open Directory Server or an LDAP server where you store UUIDs in some attribute
155 .RE
156 .sp
157 .RS 4
158 .ie n \{\
159 \h'-04'\(bu\h'+03'\c
160 .\}
161 .el \{\
162 .sp -1
163 .IP \(bu 2.3
164 .\}
165 your clients must be configured to use this server
166 .RE
167 .sp
168 .RS 4
169 .ie n \{\
170 \h'-04'\(bu\h'+03'\c
171 .\}
172 .el \{\
173 .sp -1
174 .IP \(bu 2.3
175 .\}
176 your server should be configured to use this server via nsswitch and PAM\&.
177 .if n \{\
178 .sp
179 .\}
180 .RS 4
181 .BM yellow
182 .it 1 an-trap
183 .nr an-no-space-flag 1
184 .nr an-break-flag 1
185 .br
186 .ps +1
187 \fBTip\fR
188 .ps -1
189 .br
190 This however is not a strict requirement: if you create duplicates of every LDAP/OD user and group with identic attributes (name, uid, gid) in your local data store (/etc/[passwd|group]) ACLs will work
191 \fIas long as user/group names/ids in the filesystem are equal to their counterparts in the LDAP/OD datastore\fR\&.
192 .sp .5v
193 .EM yellow
194 .RE
195 .RE
196 .sp
197 .RS 4
198 .ie n \{\
199 \h'-04'\(bu\h'+03'\c
200 .\}
201 .el \{\
202 .sp -1
203 .IP \(bu 2.3
204 .\}
205 configure Netatalk via ldap\&.conf so that Netatalk is able to retrieve the UUID for users and groups via LDAP search queries
206 .RE
207 .RE
208 .sp
209 .RS 4
210 .ie n \{\
211 \h'-04' 3.\h'+01'\c
212 .\}
213 .el \{\
214 .sp -1
215 .IP "  3." 4.2
216 .\}
217 Netatalk Volumes
218 .sp
219 Finally you can add
220 \fBoptions:acls\fR
221 to your volume defintion to add ACL support\&. In case your volume basedir doesn\'t grant read permissions via mode (like:
222 \fB0700 root:adm\fR) but only via ACLs, you MUST add the
223 \fBnostat\fR
224 option to the volume defintion\&.
225 .RE
226 .SH "SEE ALSO"
227 .PP
228 \fBldap.conf\fR(5),
229 \fBAppleVolumes.default\fR(5)