Scribe-1.0 ServeurMembre

Un article de EoleWiki.

Sommaire

Introduction

Il est possible d'intégrer un serveur Samba en tant que membre d'un domaine Scribe. Ceci permet d'avoir accès à des partages sur d'autres serveurs Samba avec une authentification unique. Ainsi, un raccourci sur le bureau d'un élève peut lancer un programme stocké sur un serveur d'application sans avoir à se ré-authentifier. Sur le serveur d'application les accès peuvent être contrôlés via Samba.

Installation

Sur le serveur d'application :

  • samba-common
  • samba-server
  • openldap
  • openldap-clients
  • nss_ldap
  • pam_ldap

Configuration du serveur d'applications

/etc/nsswitch.conf (rechercher et remplacer les entrées)

passwd:     files ldap
shadow:     files ldap
group:      files ldap

/etc/ldap.conf
/etc/openldap/ldap.conf (ou /etc/ldap/ldap.conf)
Recopier celui du Scribe et modifier l'entrée, les deux fichiers seront donc identiques sur SERVEURAPP

host 127.0.0.1

par

host ADRESS_IP_SCRIBE

/etc/samba/smb.conf

[global]
        #à remplacer par le nom de domaine SMB du Scribe
        workgroup = NOM_DOMAIN_SCRIBE
        #nom netbios du serveur d'applications
        netbios name = SERVEURAPP
        server string = Serveur applications
        #authentification unique sur le domaine
        security = DOMAIN
        #donne les droits d'administration au groupe d'"admin"
        admin users = @"DomainAdmins"
        #permet d'avoir un fichier par client
        log file = /var/log/samba/%m.log
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        #fournir l'adresse IP du Scribe
        wins server = ADRESSE_IP_SCRIBE
        encrypt passwords = Yes

Relancer les services Samba.

service smb restart

Le serveur est maintenant près à rejoindre le domaine

net join NOM_DOMAIN_SCRIBE -U admin

entrez le mot de passe d'"admin".

Création d'un partage

Il est maintenant possible de créer un partage et d'en régler les droits d'accès en fonction des utilisateurs/groupes Scribe (eleves, professeurs, groupes de niveau, classes, matières, etc.).

Exemple de partage :

[test]
        #partage en lecture/écriture
        read only = No
        #visible depuis le voisinage réseau
        browseable = Yes
        #chemin d'accès au dossier
        path = /home/applications/test
        #seul les professeurs sont autorisés
        valid users = @professeurs
        #active l'héritage du propriétaire du dossier
        inherit owner = yes
        #active l'héritage des permissions
        inherit permissions = yes

sur le répertoire /home/applications/test :

chown admin:professeurs /home/applications/test
#donne la propriété du dossier à l'utilisateur "admin" et au groupe "professeurs"
chmod g+rwx /home/applications/test
#donne les droits lecture/écriture/parcours du dossier au groupe propriétaire (ici "professeurs")

Redémarrer Samba

/etc/init.d/smb restart

Les ACLs

Pour limiter l'accès au partage à un groupe l'option valid users a été utilisée. Elle peut être remplacée par l'utilisation d'ACLs (Access Control List) pour un réglage plus fin des droits sur les dossiers. Pour cela, il faut :

  • avoir le support ACL dans le noyau (activé par défaut sur la majorité des grandes distributions Linux récentes : Mandriva, RedHat, Debian ...)
  • installer les paquets acl, libacl et libattr
  • utiliser une partition avec le support ACL (système de fichier en EXT3 ou XFS)
  • attribuer les ACLs
setfacl -b /home/applications/test               #supprime toutes les ACLs
setfacl -m u:admin:rwx /home/applications/test  #acl lecture/ecriture/execution à "admin"
setfacl -dm u:admin:rwx /home/applications/test  #acl par défaut correspondantes
setfacl -m g:eleves:r-x /home/applications/test #acl lecture/execution au groupe "eleves"
setfacl -dm g:eleves:r-x /home/applications/test #acl par défaut correspondantes

L'option Samba inherit acls permet de contrôler l'héritage des ACLs par défaut.

Davantage de détails sur l'utilisation des ACLs sont disponibles ici http://www.lea-linux.org/cached/index/Gestion_des_ACL.html

Les Clients

Pour utiliser le partage sur les clients, il existe deux solutions :

  • La plus simple est d'accéder au partage par chemin UNC.
\\serveurapp\test\
  • L'autre solution consiste à connecter un lecteur réseau. Attention de ne pas utiliser un lecteur déjà réservé sur Scribe (EAD => Groupes => Lettres). La connexion d'un lecteur se fait à l'aide d'un fichiet .bat placé dans \\scribe\netlogon\scripts. Pour plus de détails, consulter la question 5 des "Questions Fréquentes" Scribe