Table des matières

, ,

Comment partager des données avec AppleTalk

Pour les personnes utilisant Ubuntu et voulant partager leurs données (ou accéder) avec des utilisateurs de Mac Os 9.x ou inférieur (ceux qui utilisent Mac Os X peuvent utiliser les partages samba, ou donner l'accès via FTP, SFTP….) doivent installer netatalk. C'est le Samba pour les machines Apple. Il marche très bien avec Mac OS X et est très facile à configurer (bien plus que Samba, ce qui est l'un de ses nombreux avantages)

Installation

Pour l'installer rien de plus facile, il suffit d'installer le paquet netatalk.
Cependant, le paquet disponible n'est pas la dernière version. Si vous souhaitez la dernière version (3.0.4 au premier juin 2013), qui est plus simple à utiliser, il va falloir la compiler à partir des sources.

Il est vivement conseillé d'utiliser la version 3.0, car elle est facile à configurer et marche (théoriquement) avec mac OS X mais aussi Mac OS 9, peut-être même 8 (non essayé) avec les paramétrages adéquats.

Installation à partir des sources

Attention: ce tutoriel a été mis en place car les seuls tutos récents disponibles sur internet sont en Anglais, et sont à priori un peu trop succints pour des débutants. Il est suffisant pour une installation sur un petit réseau de confiance, mais ne garantit rien en matière de sécurité.
Pour une utilisation plus poussée (accès depuis internet, réseau ouvert/d'entreprise…), il est fortement conseillé de vous référer à la documentation officielle (en Anglais), notamment pour la sécurité.

Pré-requis

Si le paquet libavahi-compat-libdnssd-dev est installé, désinstallez-le.

Extraction et configuration

  1. Extraire l'archive dans le dossier /home (ou celui de votre choix). Si par exemple l'archive se trouve dans /media:
tar -xvf /media/netatalk-3.0.4.tar.bz2 -C /home

Reportez-vous à la page tar pour plus d'informations sur les options de cet outil.

  1. Placez-vous dans le dossier fraîchement décompressé, à savoir ici /home/netatalk-3.0.4:
    cd /home/netatalk-3.0.4
  2. Lancez l'utilitaire de configuration, pour gérer entre autres les dépendances à installer:
    ./configure --with-init-style=debian --with-cracklib --enable-krbV-uam --without-libevent --with-pam-confdir=/etc/pam.d --with-dbus-sysconf-dir=/etc/dbus-1/system.d


    Pour y voir plus clair, il est possible de mettre les options sur plusieurs lignes avec un contreslash: \ , et en tapant Enter à chaque fois.

    ./configure \
            --with-init-style=debian \
            --with-cracklib \
            --enable-krbV-uam \
            --without-libevent \
            --with-pam-confdir=/etc/pam.d \
            --with-dbus-sysconf-dir=/etc/dbus-1/system.d
Ici, il s'agira notamment de télécharger un script permettant de lancer netatalk au démarrage du serveur. C'est la première option: --with-init-style=debian. Ce script diffère en fonction de la distribution utilisée. Ici, on utilise le script Debian
car Ubuntu est basé sur cette distribution, mais pensez à remplacer ce nom par celui de votre distribution. Pour savoir s'il existe un script pour celle-ci, cherchez dans cette partie de la documentation officielle, ou bien dans la doc de votre distribution, ou encore sur Google… Sinon, il faudra le créer.

Si tout va bien, les dernières lignes (juste avant le prompt) devraient ressembler à cela:

Using libraries:
    LIBS           = -ldl  -lcrack
    CFLAGS         = -I$(top_srcdir)/include -I$(top_builddir)/include -D_U_="__attribute__((unused))" -g -O2
    PTHREADS:
        LIBS   = 
        CFLAGS = -pthread
    SSL:
        LIBS   =  -L/usr/lib64 -lcrypto
        CFLAGS =  -I/usr/include/openssl
    LIBGCRYPT:
        LIBS   = -L/lib/x86_64-linux-gnu -lgcrypt
        CFLAGS = 
    PAM:
        LIBS   =  -lpam
        CFLAGS = 
    WRAP:
        LIBS   = -lwrap
        CFLAGS = 
    BDB:
        LIBS   =  -L/usr/lib64 -ldb-5.1
        CFLAGS = 
    GSSAPI:
        LIBS   = -Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
        CFLAGS = 
    ZEROCONF:
        LIBS   =  -lavahi-common -lavahi-client
        CFLAGS =  -D_REENTRANT
    LDAP:
        LIBS   =  -lldap
        CFLAGS = 
    LIBEVENT:
        LIBS   = 
        CFLAGS = 
Configure summary:
    INIT STYLE:
         debian
    AFP:
         Extended Attributes: ad | sys
         ACL support: yes
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     (PAM SHADOW)
         DHX2    (PAM SHADOW)
         RANDNUM (afppasswd)
         Kerberos V
         clrtxt  (PAM SHADOW)
         guest
    Options:
         Zeroconf support:         yes
         tcp wrapper support:     yes
         quota support:               yes
         admin group support:    yes
         valid shell check:           yes
         cracklib support:            yes
         ACL support:                 yes
         Kerberos support:         yes
         LDAP support:               yes
         dbus support:                yes
         dtrace probes:               yes
    Paths:
         Netatalk lockfile:             /var/lock/netatalk
         init directory:                  /etc/init.d
         dbus system directory:  /etc/dbus-1/system.d
         pam config directory:    /etc/pam.d
    Documentation:
         Docbook:                      no
Pour un fonctionnement optimal, il est impératif d'avoir uniquement des "yes" dans la section "options". Si ce n'est pas le cas, vérifiez que les paquets initialement requis sont bien présents et relancez configure.

Compilation et installation

  1. compilez avec la commande make:
    make

    Oui oui, c'est tout! Et comme cette partie prend du temps, vous pouvez même vous faire un café. ;-)

  2. Une fois la compilation terminée, vous pouvez installer:
    sudo make install

    ou

    sudo checkinstall

    FIXME préférer la deuxième méthode non?

Hop!! fini!! :-)

Le paramétrage

Maintenant que vous avez installé le programme, il va falloir le configurer. Pour cela, un gros avantage de la version 3 de netatalk est que tout se fait, pour la configuration de base, en éditant avec les droits d'administration quelques lignes du fichier /usr/local/etc/afp.conf.
Et là, référez-vous à cette page du site officiel s'il vous faut plus d'informations.

Le partage

Vous avez deux sections: [Global] et [Homes].
Le mieux étant de tout laisser par défaut, donc ne rien écrire, et vérifier que ces deux sections sont bien décommentées (pas de dièse # ni de point-virgules en début de chaque ligne de la section concernée).

Il faut également vérifier la présence, dans la section [Homes], de la ligne

basedir regex = /home

Cette ligne permet de définir le répertoire dans lequel chaque utilisateur référencé aura son dossier.
Par exemple, ici il a été défini /home dans la ligne, donc si vous vous connectez à partir d'un mac, vous aurez accès à un dossier User's home, ou quelque chose d'approchant.

Les Permissions

Par défaut, lorsque vous vous connecterez à partir d'un mac, il faudra vous authentifier avec un login et un mot de passe d'un compte du serveur. Cependant, il est possible de modifier le mode d'authentification, l'autorisation ou non de la connexion en tant qu'invité… se référer, encore et toujours, au site officiel

Démarrage automatique, démarrage manuel, extinction

Pour que netatalk démarre en même temps que votre ordinateur, tapez simplement la commande suivante:

 sudo update-rc.d netatalk defaults 

Si vous ne vous en servez que ponctuellement, il faut taper à chaque fois que l'on veut l'utiliser:

 /etc/init.d/netatalk start

et pour l'arrêter

 /etc/init.d/netatalk stop

Voir aussi

FIXME Pourquoi ne pas parler de Avahi Daemon, qui permet d'activer le service Bonjour (ou Zeroconf) et ainsi d'avoir automatiquement les partages repéré ?


Contributeurs:FIXME