Aller à : navigation, rechercher

SAMBA - Installation d'un nouveau serveur de fichiers Samba4


Pour accéder aux autres documentations Samba4, cliquez ici : Autres documentations Samba

Besoins d'accompagnement, n'hésitez pas à nous contacter chez http://www.tranquil.it

Préambule

La version du paquet Samba4 en 4.5.12 de la distribution Stretch est suffisament à jour pour fournir un serveur de fichier optimal. Il n'est donc pas nécessaire de faire une re-compilation.

Prérequis

Cette documentation se base dur la distribution debian Stretch.

Dans les instructions décrites ci-dessous, on prendra le domaine mondomain.lan qui sera à remplacer avec votre propre nom de domaine (éviter d'employer un suffixe en .com, .fr, etc ; nous suggérons .lan et ça marchera très bien).

Installer une Debian Stretch de base

La première étape consiste à installer le système avec le strict minimum, donc uniquement avec le service SSH installé.

Installation de SaMBa4

Préparer une configuration réseau propre

Modifier le fichier /etc/hostname pour qu'il contienne le nom FQDN (nom + suffixe DNS du réseau local) de la machine

srvfichiers.mondomaine.lan

Modifier le fichier /etc/hosts pour qu'il contienne la résolution DNS du FQDN de la machine sur son ip (ie pas 127.0.0.1), avec le nom long puis le nom court

127.0.0.1      localhost
192.168.1.12   srvfichiers.mondomaine.lan      srvfichiers

Modifier le fichier /etc/resolv.conf pour pointer vers le DNS de l'AD

search mondomaine.lan
nameserver 192.168.1.11

Rebooter la machine pour prendre en compte ce nouveau nom de machine (un hostname -F /etc/hostname n'a pas l'air de suffire pour le script samba qui récupère toujours l'ancien nom...)

reboot
Installer les dépendances
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get install samba winbind krb5-user libnss-winbind
unset DEBIAN_FRONTEND

Jonction au domaine

Configuration krb5.conf, éditer le fichier /etc/krb5.conf. Vous pouvez augmenter ou diminuer la variable clockskew qui est la différence maximale de temps entre le poste windows et le serveur linux en seconde. Ici clockskew=3600, c'est à dire que l'on tolère une erreur de ntp de 1h max.

[libdefaults]
  dns_lookup_realm = false
  dns_lookup_kdc = true
  default_realm = MONDOMAINE.LAN
  clockskew = 3600

Vérifier que la configuration DNS de dans /etc/nsswitch.conf n'a pas été modifié 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    #MAUVAIS!!!
hosts:        files dns            #BON


Vérification que le kerberos est bien configuré (administrator est le compte par défaut créé par samba4, si l'on veut utiliser le compte administrateur, n'oubliez pas de le changer)

kinit administrator
klist

Configuration smb.conf

Suivant 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. Remplacer le nom MONDOMAINE.LAN par votre royaume kerberos

schéma rfc2307

Vous utiliserez habituellement cette configuration si vous avez migré depuis un samba3 vers un samba4.

[global]
   workgroup = MONDOMAINE
   security = ADS
   realm = MONDOMAINE.LAN
   idmap config *:backend = tdb
   idmap config *:range = 70001-80000
   idmap config MONDOMAINE:backend = ad
   idmap config MONDOMAINE:schema_mode = rfc2307
   idmap config MONDOMAINE:range = 500-70000
   winbind nss info = rfc2307
   vfs objects = acl_xattr
   map acl inherit = Yes
   store dos attributes = Yes
   winbind use default domain = yes
   winbind enum users = yes
   winbind enum groups = yes
   template homedir = /home/homes/%U

[partages]
   path = /home/partages
   read only = no

[homes]
  path = /home/homes/%U
  read only = no

[profiles]
  path = /home/profiles
  read only = no


Fonctionnement basé sur les RID

Vous utiliserez habituellement cette configuration si vous avez migré depuis un Active Directory Microsoft ou si vous avez créé un nouveau domaine Samba4.

[global]
   workgroup = MONDOMAINE
   security = ADS
   realm = MONDOMAINE.LAN
   winbind separator = +
   idmap config *:backend = tdb
   idmap config *:range = 700001-800000
   idmap config MONDOMAINE:backend  = rid
   idmap config MONDOMAINE:range  = 10000-700000
   winbind enum users = yes
   winbind enum groups = yes
   vfs objects = acl_xattr
   map acl inherit = Yes
   store dos attributes = Yes
   winbind trusted domains only = no
   winbind use default domain = yes
   template homedir = /home/homes/%U
[partages]
   path = /home/partages
   read only = no

[homes]
  path = /home/homes/%U
  read only = no

[profiles]
  path = /home/profiles
  read only = no


Jonction de la machine au domaine

net ads join -U administrator

Configurer le fichier /etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

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

Démarrer les services

/etc/init.d/winbind restart
/etc/init.d/samba restart

Il est conseillé de faire un reboot afin de vider les caches du nsswitch.

Vérification de la jonction

Ces 2 commandes doivent retourner les utilisateurs et les groupes de l'AD telle que reçu par winbind:

wbinfo -u
wbinfo -g
wbinfo -i administrator

Ces 2 commandes doivent retourner les utilisateurs et les groupes avec leur uidNumber tels qu'interprété par le système Linux. Bien vérifier que l'on voit les utilisateurs de l'AD: administrator, krbtgt, etc.

getent passwd administrator
getent group "domain admins"

Mise en place des partages

Affectation des droits d'administration des partages au groupe "domain admins" sur srvfichiers (la commande se fait sur le serveur de fichier, pas le contrôleur de domaine)

net sam rights  grant  "MONDOMAINE\\domain admins" SeDiskOperatorPrivilege

Vérification des droits

net rpc rights list accounts -U Administrator

Création du partage

mkdir /home/partages
chown administrator:"domain admins" /home/partages

Attribution des droits depuis un windows

  • Se connecter sur un poste windows en tant qu'utilisateur membre du groupe "domain admins"
  • Ouvrir la console "Gestion de l'ordinateur"
  • Sur "Gestion de l'ordinateur(local)" faire un click droit "Se connecteur à un autre ordinateur"


ClusterSambaFiles.png

cluster samba haute disponibilitée


  • Vous pouvez ensuite modifier les droits directement depuis l'onglet sécurité comme sur un serveur de fichiers Windows.


ModificationsDroitsPartages.png