Configurer un serveur de fichiers Samba sur Debian
Note
Cette documentation se base sur la distribution Debian 64bits.
La version du paquet Samba-AD de la distribution Debian est suffisamment à jour pour fournir un service de fichiers optimal. Il n’est donc pas nécessaire de re-compiler Samba à partir des sources.
Note
Dans cette documentation, on suppose :
Que vous aurez installé la base système de votre serveur de fichiers en ayant suivi la documentation d’installation de base de Debian Buster 64bits et que votre serveur s’appelle srvfiles.
Que l’adresse IP de votre contrôleur de domaine est 192.168.1.11.
Que le domaine s’appelle mydomain.lan.
Préparer la machine
Préparer la configuration réseau de la machine en suivant la même documentation que celle pour un nouveau contrôleur de domaine. On pensera bien à configurer comme serveur DNS le serveur Active Directory dans le fichier /etc/resolv.conf
.
Indication
Ajouter domain mydomain.lan dans le fichier /etc/resolv.conf
est nécessaire car dans le smb.conf
, l’option winbind use default domain = yes s’appuie dessus. Si ce n’est pas fait, cela entraîne les problèmes suivants :
Problème lors de la commande
net ads testjoin
qui dit ne pas trouver le contrôleur de domaine.La commande chown userad1 myfile ne fonctionne pas.
Un wbinfo -u / -g / -i ne renvoie pas de résultat.
Installer les dépendances
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get install samba winbind krb5-user libnss-winbind
unset DEBIAN_FRONTEND
Joindre le serveur de fichiers au domaine
Editer le fichier
/etc/krb5.conf
et remplacer tout le fichier par les lignes ci-dessous :
[libdefaults]
dns_lookup_realm = false
dns_lookup_kdc = true
default_realm = MYDOMAIN.LAN
Vérifier que la configuration DNS de dans
/etc/nsswitch.conf
n’a pas été modifiée par l’installation d’un paquet quelconque. Si la ligne host ressemble à la ligne ci-dessous, la modifier pour qu’elle ressemble à la ligne juste après :hosts: files dns mdns4_minimal [NOTFOUND=return] mdns # BAD!!! hosts: files dns # GOOD
Vérifier que le kerberos est bien configuré (administrator est le compte par défaut créé par samba4, si l’on veut utiliser le compte administrateur, ne pas oublier de le changer) ;
kinit administrator klist
Configuration du smb.conf
Selon le type de schéma utilisé (RFC2307 / AD), le fichier ne sera pas similaire !
Créer le fichier de configuration samba
/etc/samba/smb.conf
.Remplacez le nom MYDOMAIN.LAN par votre royaume kerberos.
Type de RID
Vous utiliserez généralement la configuration RID si vous avez migré depuis un MS-AD ou si vous avez créé un nouveau domaine Samba-AD. Vous utiliserez généralement la configuration RFC2307 si vous avez migré de Samba3-NT4 à Samba-AD. Pour plus d’informations, voir les explications sur l’IDMapping.
Mode RID |
Mode RFC2307 |
---|---|
[global]
workgroup = MYDOMAIN
security = ADS
realm = MYDOMAIN.LAN
winbind separator = +
idmap config *:backend = tdb
idmap config *:range = 700001-800000
idmap config MYDOMAIN:backend = rid
idmap config MYDOMAIN:range = 10000-700000
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
vfs objects = acl_xattr
map acl inherit = Yes
template homedir = /home/homes/%U
[shares]
path = /home/shares
read only = no
[homes]
path = /home/homes/%U
read only = no
[profiles]
path = /home/profiles
read only = no
|
[global]
workgroup = MYDOMAIN
security = ADS
realm = MYDOMAIN.LAN
idmap config *:backend = tdb
idmap config *:range = 700001-800000
idmap config MYDOMAIN:backend = ad
idmap config MYDOMAIN:schema_mode = rfc2307
idmap config MYDOMAIN:range = 500-700000
winbind nss info = rfc2307
vfs objects = acl_xattr
map acl inherit = Yes
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/homes/%U
[shares]
path = /home/shares
read only = no
[homes]
path = /home/homes/%U
read only = no
[profiles]
path = /home/profiles
read only = no
|
Note
Si vous ne voulez pas utiliser votre serveur de fichiers comme service d’impression, ajoutez les options suivantes dans la section global
du fichier /etc/samba/smb.conf
.
printcap name = /dev/null load printers = no disable spoolss = yes printing = bsd
Joindre le serveur de fichiers au domaine
net ads join -U administrator
Configurer le fichier
/etc/nsswitch.conf
, modifier les trois lignes suivantes pour les faire correspondre à la documentation :passwd: compat winbind group: compat winbind shadow: compat winbind
Redémarrer avec un reboot afin de vider les caches du nsswitch :
reboot
Vérifier la bonne jonction au domaine :
Les 3 commandes suivantes doivent retourner les utilisateurs, les groupes et l’information d’un compte de l’AD telle que reçue par winbindd :
wbinfo -u wbinfo -g wbinfo -i administrator
Les 2 commandes suivantes doivent retourner les utilisateurs et les groupes avec leur uidNumber tels qu’interprétés par le système Linux. Bien vérifier que l’on voit les utilisateurs de l’AD : administrator, krbtgt, etc :
getent passwd administrator