how to connect a mac to a linux netatalk server

new versions of macosx require encryption and ssl to connect to afp. the current version of netatalk that ships with linux does not include these security features. to disable the requirement on the mac client, use the defaults command. the plist name may have changed between versions, so note the variations below.

get a list of the current settings:

defaults read -g com.apple.AppleShareClientCore

or

defaults read -g com.apple.AppleShareClient

should print something like:

"afp_authtype_show" = 0;
"afp_cleartext_allow" = 0;
"afp_cleartext_warn" = 1;
"afp_debug_level" = 6;
"afp_debug_syslog" = 1;
"afp_keychain_add" = 0;
"afp_keychain_search" = 1;
"afp_login_displayGreeting" = 1;
"afp_mount_defaultFlags" = 0;
"afp_prefs_version" = 0;
"afp_reconnect_allow" = 1;
"afp_reconnect_interval" = 10;
"afp_reconnect_retries" = 12;
"afp_ssh_allow" = 1;
"afp_ssh_force" = 0;
"afp_ssh_require" = 0;
"afp_ssh_warn" = 0;
"afp_voldlog_skipIfOnly" = 0;

change the encryption setting with:

defaults write -g **com.apple.AppleShareClientCore** -dict-add afp_cleartext_allow -bool true

note here, as well, the name of the setting may be com.apple.AppleShareClient

or, hey, just edit the plist…

also, probably a good idea to restart the service to ensure it picks up the new setting.

don’t forget to edit the netatalk configs: AppleVolumes.default which lists the shares, and afpd.conf, the file sharing service configuration file. examples:

AppleVolumes.default

= next line shares home directories
=~
= time machine backup dir
/backup/time_machine       "mymac"

afpd.conf

# freebsd default:
- -transall -uamlist uams_clrtxt.so,uams_dhx.so -nosavepassword