]> arthur.barton.de Git - netatalk.git/blob - doc/FAQ
Build fix.
[netatalk.git] / doc / FAQ
1 Netatalk Frequently Asked Questions
2 ($Id: FAQ,v 1.9.2.2 2003-03-29 22:23:42 srittau Exp $)
3
4 -----------------------------------------------------------------------------
5
6 Q1:  Where can I get more information on Netatalk?
7 Q2:  What is this I keep seeing about asun?
8 Q3:  How do I get the most recent version of Netatalk?
9 Q4:  Can I get an almost current version of Netatalk without having to learn
10      CVS?
11 Q5:  Is there an RPM, package, or tarball for my platform?
12 Q6:  I can't seem to use passwords longer than 8 characters for my netatalk
13      accounts. How can I fix that? 
14 Q7:  I would like to use encrypted passwords to authenticate to the Netatalk
15      server. How do I do that?
16 Q8:  How can I set who has access to certain directories?
17 Q9:  What are the .AppleDouble and .Parent directories which are created in
18      the netatalk locations?
19 Q10: Hidden files - what's up with that?
20 Q11: I get a "socket: Invalid argument" error when trying to start netatalk
21      under Linux. What is causing this?
22 Q12: Netatalk works over Appletalk, but my IP connections are refused, even
23      though I have enabled them in the configuration files.
24 Q13: I'm having Quark Express file locking problems, is there information on
25      that?
26 Q14: I'm getting this error in Quark Express when trying to save a file to
27      the server: 'Error Type -50'
28 Q15: Does netatalk work with Mac OSX?
29 Q16: I'm getting an 'Application for this document not found' error on OS X.
30 Q17: I'm getting an 'Error Type -43' error on OS X.
31 Q18: How do I get the directories that are created by Netatalk to have the
32      correct permissions by default?
33 Q19: What does this error mean:
34      'afpd[#####]: setdirmode: chmod .AppleDouble Operation not permitted'
35 Q20: I'm having problems with the Trash folder: either when someone drags
36      files into it, the system want's them todelete them immeidately, or files
37      get stuck in there and won't delete.
38 Q21: The daemons aren't starting, things aren't showing up in the Chooser,
39      and I get a message like this in the logs: afpd[####]: Can't register
40      Tests:AFPServer@*
41 Q22: I want to be able to allow users to change their passwords?  How do
42      I enable this feature.  Every time I try I get an error that it was
43      unable to save the password.
44 Q23: Can a mount a Mac volume on my unix machine?
45 Q24: Can I run Samba and Netatalk together to access the same files?
46 Q25: Files I create on my Samba shares are invisible on the mac side.
47 Q26: How can I set netatalk to hide some files from the Samba (or
48      unix) sides?
49 Q27: Files I create on my netatalk shares are invisible on the PC side.
50 Q28: How can I set Samba to hide the netatalk specific files (e.g.
51      .AppleDouble).
52 Q29: I compiled Samba with the --with-netatalk flag. What did that do?
53 Q30: What about the differences in naming schemes, and legal/illegal
54      characters between Windows, Macs (and unix?)
55 Q31: Where can I get the cnid-db (Berkely DB) software? (needed for
56      --with-did=cnid)
57 Q32: What about security in Netatalk?
58
59
60
61 -----------------------------------------------------------------------------
62
63
64 Q1: Where can I get more information on Netatalk?
65
66 A:  Netatalk's home page can be found at:
67
68       http://netatalk.sourceforge.net/
69
70     Netatalk is maintained at SourceForge. The Netatalk project page on
71     SourceForge is located at:
72
73       http://sourceforge.net/projects/netatalk/
74
75     There are (at least) three very active e-mail lists to which you can
76     subscribe. The first, netatalk-admins, is for usage and setup/compile
77     questions. Subscription information as well as an archive are available at:
78
79       http://lists.sourceforge.net/lists/listinfo/netatalk-admins
80
81     This can be very high volume, but usually a few messages a day.
82
83     Netatalk-devel list is more specific to coding and testing. The archive
84     and more information can found at:
85
86       http://lists.sourceforge.net/lists/listinfo/netatalk-devel
87
88     This list varies in volume, but is usually moderately active.
89
90     Netatalk-docs is specific to documentation. For more information see:
91
92       http://lists.sourceforge.net/mailman/listinfo/netatalk-docs
93  
94     There are other netatalk information sites. Some of these are no
95     longer actively updated, some are site-specific, but still have
96     good information:
97
98       http://www.anders.com/projects/netatalk/
99       http://www.faredge.com.au/netatalk/index.html
100
101
102 Q2: What is this I keep seeing about asun?
103
104 A:  Before Netatalk moved to SourceForge, Adrian Sun (asun) had written
105     some patches to Netatalk which helped significantly with its usability,
106     especially using AppleShare IP. These patches are still provided by many
107     Unix vendors. All of these patches are included in the current SourceForge
108     versions.
109
110
111 Q3: How do I get the most recent version of Netatalk?
112
113 A:  Via CVS from SourceForge.net. This is the actively maintained version
114     of Netatalk, changes are being made constantly, and therefore it is not
115     suitable for production environments. The netatalk at SourceForge is in
116     Beta, so keep that in mind.
117
118     To create the CVS tree - from the directory you want to use as your CVS
119     root, run:
120
121       % cvs -d:pserver:anonymous@cvs.netatalk.sf.net:/cvsroot/netatalk login
122
123     hit <enter> at the Password: prompt
124
125       % cvs -z3
126       -d:pserver:anonymous@cvs.netatalk.sf.net:/cvsroot/netatalk co
127       netatalk
128
129     This will create a netatalk subdirectory, and check out all of the files.
130     If you run this same command subsequently, you will update any files which
131     have changed (on the CVS server) since your last checkout.
132
133     Once you've done that, read the INSTALL file in the netatalk/ directory,
134     plus the CONFIGURE file. If you're installing from CVS, you'll most likely
135     need have some supplementary software installed, such as gmake. Some
136     systems work fine with make. Additional information can be found in doc/.
137
138     The main things to know, though, are this: you must run
139
140       % ./autogen.sh
141
142     in the netatalk/ directory first, in order to create your configure file. 
143     
144     Then run 
145
146       % ./configure --help | more
147
148     in order to get a feel for which compile flags are available. Some of these
149     flags are summarized below, some are summarized in the INSTALL file, and
150     some have individual README files.
151     
152     To learn more about CVS, good places to start are:
153
154       http://www.cvshome.org
155       http://www.cvshome.org/docs/manual
156       http://www.cvshome.org/form/form.cgi (this is the FAQ)
157
158     There are GUI CVS systems for Windows and MacOS. Search on SourceForge for
159     WinCVS or MacCVS.
160
161
162 Q4: Can I get an almost current version of Netatalk without having to learn CVS?
163
164 A:  Yes.  Daily snapshots of the CVS tree should be posted for the benefit of
165     those that don't want to / can't use CVS. They are available at:
166
167       http://www.marcuscom.com/netatalk/nightly/
168     
169     You should be able to treat these images as you would a release.  Just
170     configure as you normally work, then run make (or gmake as the case may
171     be).  There is no need to run autogen.sh on these images.
172
173
174 Q5: Is there an RPM, package, or tarball for my platform?
175
176 A:  Perhaps. These vary in how often they're updated:
177
178     FreeBSD
179       port: /usr/ports/net/netatalk - maintained by Joe Clark
180     SuSE Linux
181       included in the distribution
182     OpenBSD
183       port: /usr/ports/net/netatalk/ - not actively maintained
184     Debian GNU/Linux
185       included in all current distributions
186     RedHat Linux
187       included in the distribution
188
189
190 Q6: I can't seem to use passwords longer than 8 characters for my Netatalk
191     accounts. How can I fix that? 
192
193 Q7: I would like to use encrypted passwords to authenticate to the Netatalk
194     server. How do I do that?
195
196 A:  Update to a newer version of AppleShare Client (I think the most
197     recent is 3.8.8). This allows longer passwords, and will allow you to
198     use encrypted passwords. Set which way you would like to authenticate
199     in either afpd.conf or netatalk.conf, depending on your setup.
200
201     For more information on the AppleShare Client from Apple, and which clients
202     are needed for which MacOS, see 
203
204       http://til.info.apple.com/techinfo.nsf/artnum/n60792?OpenDocument&software
205
206     (this site requires cookies, and a registration and sign-in).
207
208
209 Q8: How can I set who has access to certain directories?
210     
211 A:  You can certainly do this with your Unix permissions, but also explore the 
212     allow/deny/rwlist/rolist options in the AppleVolumes.default file:
213     
214       # allow/deny/rwlist/rolist format [syntax: allow:user1,@group]:
215       # user1,@group,user2  -> allows/denies access from listed users/groups
216       #                        rwlist/rolist control whether or not the
217       #                        volume is ro for those users.
218     
219     Also, some unices, specially FreeBSD, have other options:
220     (By Joe Clark)
221     
222     "What about file and directory permissions?  Since I didn't use the FORCE
223     UID/GID code, I decided to use a feature of FreeBSD called SUIDDIR. From
224     the LINT kernel config file:
225     
226     # If you are running a machine just as a fileserver for PC and MAC
227     # users, using SAMBA or Netatalk, you may consider setting this option
228     # and keeping all those users' directories on a filesystem that is
229     # mounted with the suiddir option. This gives new files the same
230     # ownership as the directory (similar to group). It's a security hole
231     # if you let these users run programs, so confine it to file-servers
232     # (but it'll save you lots of headaches in those cases). Root owned
233     # directories are exempt and X bits are cleared. The suid bit must be
234     # set on the directory as well; see chmod(1) PC owners can't see/set
235     # ownerships so they keep getting their toes trodden on. This saves
236     # you all the support calls as the filesystem it's used on will act as
237     # they expect: "It's my dir so it must be my file".
238     
239      FORCE UID/GID code, I decided to use a feature of FreeBSD called
240      SUIDDIR.  From the LINT kernel config file:
241     
242     # If you are running a machine just as a fileserver for PC and MAC
243     # users, using SAMBA or Netatalk, you may consider setting this option
244     # and keeping all those users' directories on a filesystem that is
245     # mounted with the suiddir option. This gives new files the same
246     # ownership as the directory (similar to group). It's a security hole
247     # if you let these users run programs, so confine it to file-servers
248     # (but it'll save you lots of headaches in those cases). Root owned
249     # directories are exempt and X bits are cleared. The suid bit must be
250     # set on the directory as well; see chmod(1) PC owners can't see/set
251     # ownerships so they keep getting their toes trodden on. This saves
252     # you all the support calls as the filesystem it's used on will act as
253     # they expect: "It's my dir so it must be my file".
254     
255     And the associated mount command:
256     
257     mount -o suiddir /dev/da2s1e /macvol/artfiles
258     
259     This was used on my dedicated Netatalk/Samba filesystems.  On
260     filesystems that were also used for interactive shell access, I chmod'd
261     my Netatalk shares 2770.  The reason for this is that I set up a UNIX
262     group for each department in the ad agency.  I had an art group, a media
263     group, an accounting group, and then, or course, a general staff group.
264     Each share was only allowed access by the group that needed to access
265     the share.  So, the Artfiles share allowed access only to the art group:
266     
267     /macvol/artfiles "Art Files" allow:@art
268     
269     And the others followed in kind.  Therefore, the 2770 mask allowed only
270     owners and people in the associated group access to read and write
271     files.  The leading 2 set the setgid bit so that all child files and
272     directories would retain the same group permissions.  I found this to
273     work well.
274     
275     This was used on my dedicated Netatalk/Samba filesystems.  On
276     filesystems that were also used for interactive shell access, I chmod'd
277     my Netatalk shares 2770.  The reason for this is that I set up a UNIX
278     group for each department in the ad agency.  I had an art group, a media
279     group, an accounting group, and then, or course, a general staff group.
280     Each share was only allowed access by the group that needed to access
281     the share.  So, the Artfiles share allowed access only to the art group:
282     
283     /macvol/artfiles "Art Files" allow:@art
284     
285     And the others followed in kind.  Therefore, the 2770 mask allowed only
286     owners and people in the associated group access to read and write
287     files.  The leading 2 set the setgid bit so that all child files and
288     directories would retain the same group permissions.  I found this to
289     work well."
290
291
292 Q9: What are the .AppleDouble and .Parent directories which are created in
293     the Netatalk locations?
294
295 A:  See the README.veto file in this directory.
296     
297     The .AppleDouble folders hold the resource fork information for the Mac
298     files, plus other attributes which are not normally stored by Unix. For
299     this reason, when you want to move files around in your Mac volumes, it's
300     a good idea to do it from the Mac side (as opposed to from the Unix side,
301     or Samba), unless you make absolutely sure you get the .AppleDouble
302     directories. These directories are often hidden from the Samba side, via
303     the veto files configuration.
304     
305     You can also set Netatalk to not create an .AppleDouble directory unless
306     it absolutely needs it, by setting the noadouble setting in
307     AppleVolumes.default.
308     
309     
310 Q10: Hidden files - what's up with that?
311     
312 A:  If you set the noadouble flag in AppleVolumes.default, you won't see
313     the .Apple* or .Parent directories on the Mac side. If you use the veto
314     files option in Samba, they may be hidden from the Windows side as well.
315     (More information in the Samba section, and in the README.veto file in
316     this directory.)
317
318
319 Q11: I get a "socket: Invalid argument" error when trying to start Netatalk
320      under Linux. What is causing this?
321
322 A:  The "appletalk" and "ipddp" kernel modules have to be installed under
323     linux for Netatalk to function. The appletalk module can be automatically
324     loaded by adding the line "alias net-pf-5 appletalk" to the
325     /etc/modules.conf file. Issuing the command "modprobe (module)" will
326     load the module for the current session.
327
328
329 Q12: Netatalk works over AppleTalk, but my IP connections are refused, even
330      though I have enabled them in the configuration files.
331
332 A:  If tcp_wrappers support is compiled into Netatalk, access has to be
333     granted in /etc/hosts.allow for Netatalk to successfully accept IP
334     connections. This can be done by the addition of the line:
335
336       afpd:  127. xxx.xxx.xxx. (whatever other subnets)    
337     
338
339 Q13: I'm having Quark Express file locking problems, is there information on
340      that?
341
342 A:  Yes, see the question regarding DID conflicts and the --enable-did= flag. 
343     Also, try using the --flock-locks flag. Enabling this code disabled the 
344     new byte locking feature. With FLOCK locks, the whole file would be locked. 
345     With byte locks, a byte range could be locked without locking the whole
346     file.
347
348
349 Q14: I'm getting this error in Quark Express when trying to save a file to
350      the server: 'Error Type -50'
351
352 A:  Turn off the document preview feature off in Quark.
353
354
355 Q15: Does netatalk work with MacOS X?
356
357 A:  Yes, but only the most recent versions, and it's still being finalized.
358     Versions prior to 1.5Pre7 did NOT work with OS X, although some really
359     early versions did (netatalk 1.4+asun?).
360
361
362 Q16: I'm getting an 'Application for this document not found' error on MacOS X.
363
364 Q17: I'm getting an 'Error Type -43' error on MacOS X.
365
366 A:  Configure with --with-did=last. More info on this flag is given in the 
367     DID conflicts question.
368
369
370 Q18: How do I get the directories that are created by Netatalk to have the
371      correct permissions by default?
372
373 A:  Investigate the setgid bit on your Unix platform. It's a good idea to
374     set this on your shared directories, and your .AppleDouble directories.
375     From the mail archives: "Usually directories designated for use with
376     AppleShare have the setgid (g+s) bit set.  It forces inheritance of
377     permissions.  Without it, the .AppleDouble subdirectory can't be created
378     since the new folder doesn't necessarily have the same write privileges."
379
380     Information about the setgid bit can be found in Evi Nemeth's 
381     "Unix System Administration Handbook" (3rd. ed, chap 5.5, pg. 69):
382
383     "The bits with octal values 4000 and 2000 are the setuid and setgid bits.
384     These bits allow programs to access files and processes that would
385     otherwise be off-limits to the users that run them. [...] When set on a
386     directory, the setgid bit causes newly created files within the directory
387     to take on the group membership of the directory rather than the defualt
388     group of the user that created the file. This convention makes it easier
389     to share a directory of files among several users, as long as they all
390     belong to a common group. Check your system before relying on this
391     feature, since not all version of UNIX provide it. [...] This interpretation
392     of the setgid bit is unrelated to it's meaning when set on an executable
393     file, but there is never any ambiguity as to which meaning is
394     appropriate."
395     
396     NOTE: The setuid is usually discussed along with the setgid bit. The
397     setuid bit is VERY dangerous. If you set it on an executable, and the
398     executable is owned by root, anyone who runs that executable is root for
399     the duration of that executable's run, so a clever person can leverage
400     that into a full-scale compromise. The setgid bit also has other security
401     implications, so be careful where you set it.
402     
403     You set it by doing a chmod 2xxx, where xxx are the normal file permissions
404     (i.e. owner/group/other permissions).
405     
406
407 Q19:  What does this error mean:
408      'afpd[#####]: setdirmode: chmod .AppleDouble Operation not permitted'
409
410 A:  This can be due to a few things.
411
412     1) The setgid bit might not be set on either your directory, or on the
413     .AppleDouble directory. It has to be set recursively on the .AppleDouble
414     folder.
415     
416     2) You may not be member of the group set on the directory you're trying
417     to write to.
418     
419     3) This was a persistant bug in 1.5pre6 for awhile, upgrading might help.
420     
421     
422 Q20: I'm having problems with the Trash folder: either when someone drags
423      files into it, the system wants them to delete them immediately, or files
424      get stuck in there and won't delete.
425     
426 A:  chmod the Network Trash folder to 2775 (/home/public/Network Trash
427     Folder for instance).
428
429     As of 10/16/01, MacOS X trash didn't work properly with afps volumes. 
430     Apple is working on it.
431
432 Q21: The daemons aren't starting, things aren't showing up in the Chooser,
433      and I get a message like this in the logs: afpd[####]: Can't register
434      Tests:AFPServer@*
435
436     This is sometimes a result of missing NIC information in the atalkd.conf
437     file. Put your network interface (something like le0, eth0, fxp0, lo0)
438     alone on a line in atalkd.conf, and reboot. When atalkd starts, it will
439     populate the file with a line such as:
440
441       le1 -seed -phase 2 -addr 66.6 -net 66-67 -zone "No Parking"
442
443     To find your network interface, run
444
445       % ifconfig -a | more
446
447     and see which interface has your IP address. Use that one.
448
449
450 Q22: I want to be able to allow users to change their passwords.  How do
451      I enable this feature?  Every time I try I get an error that it was
452      unable to save the password.
453
454 A:  Use -[no]setpassword in afpd.conf. This enables or disables the ability of
455     clients to change their passwords.
456
457
458 Q23: Can a mount a Mac volume on my Unix machine?
459
460 A:  Well, maybe. MacOS X obviously might be able to do this with NFS. 
461     Also, there is a program called afpfs which was designed to do this, 
462     but is not actively maintained and has been reportedly highly unstable. 
463     It should be available from:
464
465       http://www.panix.com/~dfoster/afpfs/
466
467 Q24: Can I run Samba and Netatalk together to access the same files?
468
469 A:  Sure. Lots of us do. But there are some concerns. Quite often it's 
470     useful, for instance, to hide files of one OS from the other. See
471     the AppleVolumes.default file in Netatalk, and investigate the veto
472     files option in Samba. (See the README.veto file.)
473
474     Also, when copying and moving files created on the Mac, it's better
475     to do that from the Mac, rather than from the Unix server or from
476     Samba. This is because the .AppleDouble folders hold the resource fork 
477     information for the Mac files, plus other attributes which are not 
478     normally stored by Unix.
479     
480     You can also set Netatalk to not create an .AppleDouble directory unless
481     it absolutely needs it, by setting the noadouble setting in
482     AppleVolumes.default.
483
484
485 Q25: Files I create on my Samba shares are invisible on the Mac side.
486
487 A:   Have you checked the AppleVolumes(.default? .sytem? I don't remember
488      which one hides files!) file?
489
490      How long are the file names? Names longer than 31 BYTES (not characters) 
491      are not visible on the Mac side. This is because some old MacOS's don't 
492      accept long names, and some Finders crash when they encounter them. 
493      Therefore Netatalk hides long filenames to prevent crashes. If you
494      prefer Netatalk to truncate the names, use the --with-mangling ./configure
495      option when compiling Netatalk.
496
497      The BYTES distiction is made because there exist doublebyte fonts too, 
498      which limit names to 15 chars.
499
500
501 Q26: How can I set Netatalk to hide some files created on the Samba 
502      (or Unix) sides?
503
504 A:   AppleVolumes(.system or .default?) allows you to hide certain files.
505      This might be a good thing to set on, say, .cshrc, ssh keys, and
506      the like.
507
508
509 Q27: Files I create on my Netatalk shares are invisible on the PC side.
510
511 Q28: How can I set Samba to hide the Netatalk specific files (e.g.
512      .AppleDouble).
513
514 A:   Check your Samba veto files option in smb.conf. It's often useful
515      to hide files like .AppleDouble or the network trash folder here.
516
517      Does the mac file have a \ or / in it? Would this cause Samba to 
518      not see the file?
519
520
521 Q29: I compiled Samba with the --with-netatalk flag. What did that do?
522
523 A:   Nothing. Some code was written (by a Samba developer?), but as of 
524      Fall 2001, Samba doesn't utilize it.
525
526
527 Q30: What about the differences in naming schemes, and legal/illegal
528      characters between Windows, Macs, and Unix?
529
530 A:   Check out the documentation about the 'mswindows' flag in
531      AppleVolumes.default. For instance, having / or \ or : in a name is
532      especially bad, as they are path seperators on Unix, Windows, and MacOS, 
533      respectively). Educating the end user is important for this problem.
534
535
536 Q31: Where can I get the cnid-db (Berkely DB) software? (needed for
537      --with-did=cnid)
538
539 A:   First check to see if your Unix has a port or package. If not,
540      Berkeley DB is available at:
541
542        http://www.sleepycat.com/download.html
543
544 Q32: What about security in Netatalk?
545
546 A:   Most of the security for Netatalk must be derived from the
547      security of the Unix server on which it runs. Directory permissions,
548      valid users, firewalls, IP filters, file integrity checkers, etc.
549      are all part of the equation. That said, it is possible to configure
550      Netatalk to minimize access, and close potential security holes.
551
552      These two flags are especially important:
553
554        --with-tcp-wrappers: enable TCP wrappers support.
555
556          Enables Wietse Venema's network logger, also known as tcpd or
557          LOG_TCP. These programs log the client host name of incoming
558          telnet, ftp, rsh, rlogin, finger etc. requests. Security
559          options are: access control per host, domain and/or service;
560          detection of host name spoofing or host address spoofing;
561          booby traps to implement an early-warning system.  TCP
562          Wrappers can be gotten at:
563
564            ftp://ftp.porcupine.org/pub/security/
565
566          Note, if you use TCP Wrappers, it would be a good idea to set your
567          afpd.conf file to disable DDP, or accept connections only on TCP.
568          You can also configure afpd to only run on a certain port, which
569          you can then let through your IPFilter.
570      
571        --with-ssl-dirs=[PATH]: specify path to OpenSSL installation.
572
573          NOTE: This is dependent on the same directory layout as the
574          source distribution of OpenSSL. That is: include/ and
575          lib/ to be on the same level. Many .rpm formats do not
576          have their files laid out in this format.
577          The OpenSSL Project is a collaborative effort to develop a
578          robust, commercial-grade, full-featured, and Open Source
579          toolkit implementing the Secure Sockets Layer (SSL v2/v3)
580          and Transport Layer Security (TLS v1) protocols as well as a
581          full-strength general purpose cryptography library.
582          This is required to enable DHX login support, which
583          will encrypt all of the passwords being sent across the 
584          connection. (Some old Mac clients don't support this, check
585          this FAQ for the section on AppleShare clients.)
586          Check to see if your Unix has OpenSSL already, or
587          get everything at:
588
589            http://www.openssl.org/ 
590
591     Be aware that on the volumes that are shared, some of the 
592     special folders (.AppleDesktop, "Network Trash Folder") get
593     assigned. A lot of these get created as world-writable (because that's
594     what the Mac clients are expecting them to be) which is often quite
595     undesirable from the Unix system administrator's point of view.
596     Documenting this behavior could be a somewhat daunting task, but
597     highly desirable.
598
599     Shares can be set to be read/write only by certain people and groups.
600
601     The Netatalk code has not been through a major code audit. However,
602     it's Open Source, so if you want to do said audit, contact the 
603     Netatalk maintainers (which can be done through the SourceForge site).
604
605     Has anyone tried to run Netatalk in a chroot jail? If so, please
606     share your experiences with the mailing lists.