]> arthur.barton.de Git - netatalk.git/blob - doc/README.hidden-items
44ee3e2197abc05b57c39a4ec43a2ddbe45aa5fd
[netatalk.git] / doc / README.hidden-items
1               Special folders created inside Netatalk shares
2
3 (Originally by ali@gwc.org.uk 2001-10-20)
4 (Amended by Sebastian Rittau 2001-11-03)
5 (Amended by HAT 2010-03-30)
6
7 Inside netatalk share points you will find several files and directories
8 which are created automatically by the afpd process either for its own
9 internal use or for the internal use of the MacOS.
10
11 None of them should be directly visible in the Finder on the Mac. 
12
13 Many of them have to be writeable in order for netatalk to function
14 properly. This can present problems if users have shell access to the
15 netatalk server. At the very least, users can "hide" files inside these
16 writeable folders. At worst, a malicious user could confuse netatalk in a
17 bad way. It is unlikely that a malicious user could cause loss of another
18 user's data by exploiting permissions on these items.
19
20 Below is what I hope to be a comprehensive list of these files and
21 directories, their purpose, and a discussion of what Unix permissions
22 should be set on them.
23
24 Note that in general on Netatalk shares, all directories should have the
25 setgid bit set. This forces any new files or folders created to have the
26 same group as the folder they were created in. On some operating systems,
27 notably FreeBSD, the group owner is always inherited from the parent
28 directory, so the setgid bit is not necessary.
29
30
31 .AppleDouble/
32
33 This directory exists inside each folder on a Netatalk share. It contains
34 meta information like the resource fork, or creator/type of each file in that
35 folder. Its permissions should match those of its parent directory, i.e.
36 anyone who has write access to the parent directory must have write access to
37 the corresponding .AppleDouble directory.
38
39
40 .AppleDouble/.Parent
41
42 This file specifically contains meta information about the directory.
43
44
45 .AppleDesktop/
46
47 This directory exists under the top level of each share point. It contains
48 the "desktop database" which is the method by which the MacOS associates a
49 type/creator code with a particular application. Without it, documents
50 will lose their application-specific icons and will have a generic icon
51 instead. Double-clicking documents will also fail.
52
53 To allow the desktop database to be maintained correctly, any user who is
54 likely to copy an application on to the share must have write access to
55 this directory and all directories below it. 
56
57
58 Icon\r and .AppleDouble\Icon\r
59
60 These files will exist in any folder, including the top level of a share,
61 if it has a custom icon. Make them writeable to any user who should be
62 allowed to change that custom icon; make them read-only if you don't want
63 the custom icon to be changeable.
64
65
66 .AppleDB/
67 .AppleDBcnid.lock
68
69 These will exist at the top level of each sharepoint on servers that run
70 netatalk compiled with the new CNID DB code. Any user who has write access
71 to any part of the share must have full write access to this directory /
72 file and all the files within it otherwise the CNID DB code will not work
73 properly.
74
75
76 Network\ Trash\ Folder/
77
78 This exists at the top level of each sharepoint. This is where files that
79 are put in the Trash on clients go, until the Trash is emptied.
80
81 The permissions of items in this directory are a pretty complicated
82 subject, but basically you should make this directory and everything in it
83 world-writeable if you want the Trash can to work properly. If you don't
84 make it writeable then users will get a message "That item cannot be put
85 in the Trash. Do you want to delete it immediately?" if they try to put
86 something in the Trash.
87
88 Unfortunately networked trash handling is broken in current versions of Mac
89 OS X even if this directory is writeable. Apple is aware of this problem
90 and is working on a solution.
91
92
93 Temporary\ Items/
94 :2eTemporaryItems/ (.TemporaryItems/)
95
96 These folder may exist at the top level of a sharepoint. These folder is
97 used by certain applications (Adobe PhotoShop among others) to store,
98 well, temporary items. These programs may not work correctly if this
99 folder is missing or not writeable, when a user tries to work on a
100 document stored in that Netatalk share.
101
102
103 TheFindByContentFolder/
104
105 This folder is used by Sherlock 2 to store information use by its Find by
106 Content feature. Make it writeable by users if you want to allow them to
107 update the Find by Content index on a netatalk share. Otherwise, make it
108 read-only.
109
110
111 TheVolumeSettingsFolder/
112
113 This folder is created at the top level of each share point. It
114 always appears to be empty. It would be wise to set its permissions
115 the same as the top level of the sharepoint.
116
117
118 :2eDS_Store (.DS_Store)
119
120 This file may appear in share points which have been accessed by a
121 machine running Mac OS X. Its permissions should be set to match
122 those of the enclosing directory.
123
124
125 :2eFBCIndex (.FBCIndex)
126 :2eFBCLockFolder/:2eFBCSemaphoreFile (.FBCLockFolder/.FBCSemaphoreFile)
127
128 These are created to preserve retrieval information by Sherlock
129 on Mac OS X 10.1. If these are removed, the next retrieval will slow.
130 Mac OS X 10.2 and later do not use these.