client_linux
Validée par E. Seigne le 25 janvier 2009. Attention votre serveur doit être à jour. Spécifique AbulÉdu 8.08.
La configuration avancée d'un poste GNU/Linux correspond à l'envie d'avoir un poste autonome GNU/Linux sur un réseau AbulÉdu tout en bénéficiant de l'authentification sur le serveur et du partage des fichiers qui se trouvent également sur le serveur.
Si vous souhaitez uniquement configurer votre poste GNU/Linux pour avoir la connexion internet, regardez plutôt la documentation suivante: configuration de base des PC GNU/Linux
Si vous voulez une solution industrielle, simple à mettre en oeuvre et pas prise de tête vous devriez regarder du côté des ClientsLourds AbulÉdu (développement en cours) Infrastructure de gestion des clients lourds et configuration d'un client lourd AbulÉdu
Pour plus de simplicité, imaginons que le poste que vous voulez ajouter sur le réseau porte le nom de “t40p” et votre serveur “servecole”.
Si vous voulez modifier le nom de votre poste, éditez les deux fichiers /etc/hosts et /etc/hostname, mettez le nom que vous voulez, sauvegardez et redémarrez votre poste.
Bien entendu, votre poste est configuré pour obtenir automatiquement une adresse IP via DHCP et vous l'aurez "fixé" (avec le même nom que celui que vous aurez indiqué à l'étape précédente, t40p dans notre exemple) via l'outil ad-hoc dans webadmin.
apt-get install libpam-mount winbind samba portmap smbfs smbclient
Éditez le fichier /etc/samba/smb.conf pour y insérer les données suivantes (remplacez 192.168.0.1 par l'adresse IP de votre serveur s'il n'est pas en 192.168.0.1):
[global] workgroup = ABULEDU server string = %h server (Samba, Ubuntu) security = DOMAIN netbios name = %h wins server = 192.168.0.1 idmap uid = 10000-20000 idmap gid = 10000-20000 winbind separator = / log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 template shell = /bin/bash template homedir = /home/%D/%U winbind enum users = yes winbind enum groups = yes winbind cache time = 10 winbind separator = + password server = * winbind use default domain = yes
mkdir /home/ABULEDU
passwd: compat winbind group: compat winbind shadow: compat winbind
Attention, nous ne modifions que le système d'authentification de GDM, si vous voulez utiliser KDM ou un autre système d'authentification sur le poste libre à vous d'adapter ces lignes pour d'autres modules PAM
#%PAM-1.0 auth requisite pam_nologin.so auth required pam_env.so auth required pam_mount.so auth sufficient pam_winbind.so use_first_pass auth required pam_unix.so use_first_pass account sufficient pam_winbind.so account required pam_unix.so password sufficient pam_unix.so obscure min=4 max=50 md5 session required pam_limits.so session required pam_unix.so session optional pam_mount.so session optional pam_foreground.so
Après avoir demandé le mot de passe root sur l'interface d'administration web d'abuledu (“accueillir des stations xp/2000” sur l'interface webadmin) vous pouvez intégrer le poste t40p sur le domaine ABULEDU avec les commandes suivantes:
/etc/init.d/samba stop net rpc join -U root /etc/init.d/winbind restart /etc/init.d/samba start
Ajouter à la fin du fichier ceci:
volume * cifs servecole & /home/ABULEDU/&/dossier-perso-sur-servecole dir_mode=0700,file_mode=0600,uid=&,setuids,mapchars,serverino,nobrl,noperm,iocharset=iso8859-15 - -
Pour une ubuntu hardy et suivantes c'est le fichier pam_mount.conf.xml dans lequel il faut ajouter en avant-dernière ligne ceci:
<volume options="dir_mode=0700,file_mode=0600,setuids,mapchars,serverino,nobrl,noperm,iocharset=utf8" user="*" mountpoint="/home/ABULEDU/%(USER)/dossier-perso-sur-servecole" path="%(USER)" server="servecole" fstype="cifs" />
Ajoutez la ligne suivante dans le fichier /etc/modules
cifs
Il faut penser à utiliser ce qui suit pour que le montage samba suive les liens symboliques … ça ne doit être lancé qu'une seule fois sur t40p après son amorçage et avant la 1ere authentification utilisateur. Suggestion de faire cela dans le fichier /etc/rc.local
Modification du fichier /etc/rc.local pour ajouter ce qui suit avant le exit
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled