Un serveur samba est un partage de fichiers de type Windows. Dans un environnement hétérogène régi par un contrôleur de domaine Active Directory il peut être utile de stocker les profils, documents et lecteurs réseaux sur des serveurs Linux. Nous allons voir comment configurer un serveur Linux pour faire serveur de fichiers Windows. Installation
3 méta packages sont nécessaires pour créer ce serveur de fichiers
apt-get install samba winbind acl libpam-mkhomedir
Pour configurer le login via winbind éditez le fichier /etc/nsswitch.conf de la façon suivante :
passwd: compat winbind
group: compat winbind
shadow: compat winbind
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Afin que chaque utilisateur aie directement un homedir dès son premier login, il faut configurer le pam pour utiliser le module mkhomedir. Editez le fichier /etc/pam.d/common-account. Si la ligne suivante n’y est pas ajoutez la.
session required /lib/security/pam_mkhomedir.so skel=/etc/skel umask=0022
Le dossier /etc/skel contient les fichiers de base que vous souhaitez voir dans le répertoire de l’utilisateur à sa création Configuration de samba
Ouvrez maintenant le fichier /etc/samba/smb.conf. Nous allons l’intégrer au domaine AD existant en modifiant les paramètres suivants:
[global]
workgroup = DOMAIN
# nom court de votre serveur AD
password server = activedirectory
# domaine
realm = DOMAIN.TLD
# nom du serveur de fichiers
netbios name = hera-bis
# cohérence samba - AD
security = domain
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
# Spécifications AD
idmap uid = 10000-20000
idmap gid = 10000-20000
# On créé des homedir dans le répertoire /dta/homes/<username>
template shell = /bin/bash
template homedir = /data/homes/%U
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
prefered master = no
# quota disque
max disk size = 10000
# Répertoires homes de l'utilisateur avec des droits corrects
[homes]
comment = Home Directories
browseable = no
writeable = yes
guest ok = no
directory mask = 2700
create mode = 0664
# conserver les droits Posix Windows
store dos attributes = yes
# les fichiers Linux commençant avec un . seront des fichiers cachés
hide dot files = yes
nt acl support = no
On va joindre tout d’abord le domaine afin d’être reconnu du serveur Active Directory, entrez les identifiants d’un administrateur du domaine.
net ads join -U Administrateur%password
Afin de ne pas perdre la connectivité au domaine, rajoutez également la ligne suivante dans /etc/crontab
*/5 * * * * root net ads join -U Administrateur%password
On va également rajouter dans le fichier /etc/rc.local la commande afin qu’elle soit effectuée au démarrage du serveur
net ads join -U Administrateur%password
Note: le fichier /etc/rc.local n’existe plus sur systemd. Il faut passer par une unit en mode oneshot
Lancez maintenant les services
service samba start && service winbind start
Vous pouvez vérifiez que le domaine est joignable et lister les utilisateurs avec la commande wbinfo -u, et les groupes avec la commande wbinfo -g.
Votre serveur de fichiers samba est désormais relié à votre annuaire ActiveDirectory.