Contributeurs : (SISR2-2017) Patrice Cypre
SAMBA est une transposition sous Linux du protocole SMB assurant le partage de fichiers dans un environnement Windows. Il est aussi utilisé pour assurer les rôles de contrôleurs de domaine équivalent à AD, mais qui n'est pas l'objet de cette page.
Pour fonctionner, SAMBA nécessite :
Lors d'un accès à un partage par le voisinage réseau Windows ou par l'accès smb:/ /, le serveur étudiera :
il appliquera les restrictions les plus strictes :
Installation des paquet et des dépendances :
apt-get install samba
Pour chaque élément que l'on veut rendre accessible par le réseau, on doit créer une [section] qui définira les accès.
Configuration du fichier /etc/samba/smb.conf
Les options à configurer sont les suivantes :
A chaque modification des fichiers de configuration, on redémarrera le service :
systemctl restart smbd
La gestion des utilisateurs passe par deux étapes :
adduser <nomUtilisateur>
Le compte de l'utilisateur Linux doit être ajouté à Samba. Les mots de passe peuvent différer.
smbpasswd -a <nomUtilisateur>
Pour visualiser les partages d'une machine :
net view <adresse_serveur>
Monter un partage vers un dossier distant sur un lecteur local :
net use [<lettre_lecteur>:] \\<adresse_serveur>\nom_partage [/user:<nom_utilisateur>]
Supprimer les connexions existantes :
net use \\<adresse_serveur>\nom_partage /delete
net use * /delete
Il faut installer le service ntp et paramétrer le serveur AD dans les DNS du serveur Samba.
apt-get install ntp vi /etc/ntp.conf
Dans le fichier, on ajoute la ligne :
server <NomADServer>.<domaine>.<tld>
<Kerberos est le service d'authentification d'AD.
apt-get install krb5-user
On adaptera l fichier /etc/krb5.conf (attention à la casse) :
[libdefaults] default_realm = <nomDomaine> [realms] <nomDomaine> = { kdc = <serveurAD>.<nomDomaine> admin_server = <serveurAD>.<nomDomaine> default_domain = <nomDomaine> } [domain_realm] . <serveurAD>.<nomDomaine> = <serveurAD>.<nomDomaine> [login] krb4_convert = true krb4_get_tickets = false
Pour créer le compte machine et faire partie de Active Directory de Windows Server 2012, Kerberos doit tout d’abord être initialisé comme serveur membre faisant partie du domaine AD Pour créer un ticket administratif pour Kerberos : (à vérifier)
[root@/home/tux] Administrateur@SIO-VOYAGES.FR Password for Administrateur@SIO-VOYAGES.FR: [root@/home/tux]
[global] workgroup =<nomDomaine> #Nom de Domaine password server = <serveurAD><nomDomaine> realm = <nomDomaine> security = ADS idmap uid = 10000-20000 idmap gid = 10000-20000 winbind separator = / template shell = /bin/bash winbind use default domain = true #on peut se passer de l’authentification \\domaine\login winbind offline logon = false netbios name = DEBIAN preferred master = no server string = Samba Server version %v encrypt passwords = yes log level = 3 log file = /var/log/samba/%m max log size = 50 printcap name = cups printing = cups winbind enum users = Yes #samba doit faire appel à Winbind pour gérer ses users winbind enum groups = Yes #samba doit faire appel à Winbind pour gérer ses groupes template homedir = /home/%D/%U
/etc/nsswitch permet d’indiquer comment et dans quel ordre la résolution des noms des machines va se faire
passwd: files winbind
shadow: files winbind
group: files winbind
Accéder aux fichiers de configuration PAM qui sont stockés dans /etc/pam.d/
Mise a jour des règles d’authentification
pam-auth-update cat common-account account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so account requisite pam_deny.so account required pam_permit.so cat common-auth auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass auth requisite pam_deny.so auth required pam_permit.so auth optional pam_cap.so cat common-password password [success=2 default=ignore] pam_unix.so obscure sha512 password [success=1 default=ignore] pam_winbind.so use_authtok try_first_pass password requisite pam_deny.so password required pam_permit.so password optional pam_gnome_keyring.so cat common-session session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session required pam_unix.so session optional pam_winbind.so session optional pam_ck_connector.so nox11 session required pam_mkhomedir.so skel=/etc/skel ==== 6- Redémarrer les serveurs winbind et samba ==== ==== 7- Intégration de la machine Linux au domaine AD ==== <code lscript>net join -U Administrateur wbinfo -u #afin d’afficher les utilisateurs présent dans l’active directory
La mise en place des lecteurs personnel à chaque utilisateur se fait grâce a la configuration suivante :
[homes]
comment = Home Directories
valid user =%S
read only = No
browseable = No
directory mask = 0700
create mask = 0700