Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



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.

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 l'on veut la dernière version (3.0.3 pour le moment), qui est plus simple à utiliser, il va falloir la compiler à partir des sources.

Je conseille vivement d'utiliser la version 3.0.3, car elle est facile à configurer et marche (théoriquement) avec mac OS X mais aussi Mac OS 9, peut-être même 8 (je n'ai pas essayé) avec les paramétrages adéquats.

Attention: j'ai fait ce tutoriel car les seuls tutos récents disponibles sur internet sont en Anglais, et sont un peu trop succints pour des débutants (à mon sens), cependant je suis loin d'être un spécialiste, aussi je ne peux que vous conseiller de vous référer à la doc officielle (en Anglais), notamment pour la sécurité. Ce tutoriel est suffisant pour une installation sur un petit réseau de confiance, mais je ne garantis rien en matière de sécurité.

Cette documentation est inspirée de celle du site officiel, traduite et détaillée.

Tout va se faire en ligne de commande. Pour commencer, il faut télécharger les sources. Par la suite, nous considérerons que l'archive contenant les sources est dans /media. Si vous n'avez pas accès à internet sur le serveur, le plus simple est de passer par une clef usb.

Si vous ne disposez pas déjà les outils de compilation, il faut les installer. Il faut aussi installer les paquets suivants:

Conseil: on va installer plusieurs paquets, presque tout sera fait en root, donc il peut être utile de passer en super-utilisateur ( $ su )

 $ sudo aptitude install build-essential
 $ sudo aptitude install libssl-dev
 $ sudo aptitude install libgcrypt11-dev
 $ sudo aptitude install libkrb5-dev
 $ sudo aptitude install libpam0g-dev
 $ sudo aptitude install libwrap0-dev
 $ sudo aptitude install libdb-dev
 $ sudo aptitude install libavahi-client-dev
 $ sudo aptitude install libacl1-dev
 $ sudo aptitude install libldap2-dev
 $ sudo aptitude install libcrack2-dev
 $ sudo aptitude install systemtap-sdt-dev
 $ sudo aptitude install libdbus-1-dev
 $ sudo aptitude install libdbus-glib-1-dev
 $ sudo aptitude install libglib2.0-dev
 $ sudo aptitude install libevent-dev

Si vous avez le paquet libavahi-compat-libdnssd-dev installé (essayez

 sudo aptitude search libavahi-compat-libdnssd-dev 

si le paquet est précédé d'un i ou d'un A, il faut le désinstaller).

Allez, tout est prêt, passons aux choses sérieuses: décompressons l'archive.

 $ tar -xvf /media/netatalk-3.0.3.tar.bz2 -C /home

Les options:

  • x: eXtract: extraire, pas compresser ou créer…
  • v: Verbose: qu'on sache ce qu'il fait
  • f: File: on lui dit que le fichier indiqué après est celui à décompresser.
  • C: on indique le dossier reçevant l'archive décompressée.

Ici nous avons décompressé l'archive dans /home, mais on peut mettre le dossier que l'on veut.

Maintenant, pour simplifier les choses, on va se placer dans le dossier où l'on a décompressé: ici,

 $ cd /home/netatalk-3.0.3

Et on lance l'utilitaire ./configure, pour vérifier les dépendances (entre autres):

 $ ./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, on peut 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

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

maintenant, on peut compiler!! Avec la commande make:

 $ make

Oui oui, c'est tout!

Ensuite on va se faire un café.

Une fois la compilation terminée, on peut installer:

$ sudo make install

ou

 $ sudo checkinstall

Hop!! fini!!

Ouf!! fini. Vous avez:

  1. téléchargé les sources
  2. décompressé une archive
  3. vérifié les dépendances
  4. COMPILÉ UN CODE SOURCE (si si)
  5. installé un programme.

Maintenant, il va falloir configurer le tout. Pour cela, un gros avantage de la version 3 de netatalk est que tout se fait sur quelques lignes d'un petit fichier (pour la configuration de base):

 $ sudo nano /usr/local/etc/afp.conf

Et là, je vais me référer à cette page du site officiel.

Le partage

Vous avez deux sections: [Global] et [Homes]. Le mieux, c'est de tout laisser par défaut, donc ne rien écrire, juste vérifier que ces deux sections sont bien décommandées. Il faut égalemment 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. Donc par exemple, ici j'ai défini /home dans ma ligne, donc si je me connecte à partir d'un mac, j'aurai accès à un dossier PaulDbk'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

  • netatalk.1368786556.txt.gz
  • Dernière modification: Le 17/05/2013, 12:29
  • par PaulDbk