Problème étonnant chez un de mes clients : après le passage de la version 10.7.3 à la 10.7.4, plus possible pour certains postes de se connecter en AFP ! Lors de la tentative de connexion, qu’on utilise le dialogue de connexion (Cmd + K) ou qu’on clique sur la barre latérale puis sur Connexion, une fenêtre s’ouvre quelque secondes, et… c’es tout. Pas de fenêtre d’authentification. Le message suivant apparaît alors dans system.log :
Jun 5 21:34:41 iMac-1 com.apple.launchd.peruser.503[111] (com.apple.netauth.useragent[256]): Job appears to have crashed: Segmentation fault
Plus étonnant encore : le même poste client arrive à se connecter à un serveur AFP à l’extérieur du réseau sans souci. Et les postes clients hors du réseau se connectent au serveur sans problème également !
Après beaucoup (beaucoup) de recherche et un peu de déduction, j’ai découvert que dans les réglages du service AFP, la ligne kerberosPrincipal affichait via la commande
sudo serveradmin settings afp
affichait parmi tous ces résultats cette ligne :
afp:kerberosPrincipal = "afpserver"
Ah ! Bizarre, car normalement elle devrait indiquer le principal du service AFP au sein de Kerberos. Ce principal devait être de la forme :
afpserver/server.example.com@SERVER.EXAMPLE.COM
Qu’à cela ne tienne ! Stoppons AFP, modifions le principal puis relançons AFP :
% sudo serveradmin afp stop
% sudo serveradmin settings afp:kerberosPrincipal = afpserver/server.example.com@SERVER.EXAMPLE.COM
% sudo serveradmin afp start
Remplacez évidemment server.example.com par le nom DNS de votre serveur et SERVER.EXAMPLE.COM par le nom du domaine Kerberos de votre domaine maitre Open Directory.
Après modification, le service est de nouveau accessible. Ouf !