Outils pour utilisateurs

Outils du site


kb:linux:samba:creer_des_partages_reseau_sur_un_serveur_autonome

Créer des partages réseau sur un serveur autonome

Déjà petite explication par ce que j'entends par autonome. Pour moi autonome veut dire sans authentification centralisé par un AD.

Cependant, il sera possible de mettre en place des ACL basé sur les groupes ou les noms d'utilisateurs.

Il faut commencer par installer tout les packets nécessaires :

Installation et configuration :

# apt install samba acl xattr 

Ensuite il vous faudra remplacer le contenu du fichier /etc/samba/smb.conf par celui ci:

smb.conf
[global]
        admin users = sambaadmin
        server string = Serveur de fichiers
        workgroup = WORKGROUP
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        server role = standalone server
        unix password sync = Yes
        dns proxy = No
        idmap config * : backend = tdb
        store dos attributes = Yes
        map acl inherit = Yes
        vfs objects = acl_xattr
 
 
[Mon partage]
        path = /mnt/data/Mon partage
        read only = No

Pour créer des partages multiples, il vous faudra simplement copier/coller la section “Mon partage” et de l'ajuster.

Il vous faudra définir un mot de passe au compte “sambaadmin” :

# smbpasswd -a sambaadmin

puis on va redémarrer les services samba :

# systemctl restart smbd nmbd

Création des groupes et des utilisateurs :

Créer un groupe

Alors il vous faudra simplement ajouter cette ligne au fichier /etc/group :

groupe1:x:10000:utilisateur1,utilisateur2

qu'il faudra ajuster :

  • groupe1 –> nom du groupe
  • x –> information lié au mot de passe, a ne pas modifier dans notre cas
  • 10000 –> gid, unique pour chaque groupe/utilisateur
  • utilisateur1,utilisateur2 –> utilisateurs présent dans le groupe

Puis il faudra l'ajouter a samba :

net groupmap add rid=10000 ntgroup="groupe1" unixgroup=groupe1 type=d

Créer un utilisateur

Alors il vous faudra simplement ajouter cette ligne au fichier /etc/passwd :

utilisateur1:x:20000:65534:Prénom NOM,Adresse,Num de tel,adresse mail:/dev/null:/bin/false

qu'il faudra ajuster :

  • utilisateur1 –> nom d'utilisateur
  • x –> information lié au mot de passe, a ne pas modifier dans notre cas
  • 20000 –> uid, unique pour chaque groupe/utilisateur
  • 65534 –> gid, groupe principal de l'utilisateur, là définit par le celui “nobody”, peut réster comme ça
  • Prénom NOM,Adresse,Num de tel,adresse mail –> Information administrative, pas obligatoire.
  • /dev/null –> répertoire personnel de l'utilisateur, définit sur /dev/null par sécurité
  • /bin/false –> Shell par défaut, définit sur /dev/fasle par sécurité

Puis il faudra l'ajouter a samba via :

# smbpasswd -a utilisateur1

Définition des ACL

Seul les utilisateurs (ou groupe) ayant la permission SeDiskOperatorPrivilege ont le droit de changer les permissions sur les partages réseaux. Par défaut, seul les administrateurs samba ont le droit de les modifier.

Pour ajouter cette permission à un groupe ou un utilisateur, il vous faut taper (en ayant le mot de passe du compte sambaadmin :

net rpc rights grant "groupe1" SeDiskOperatorPrivilege -U sambaadmin

Puis vous pourrez modifier vos ACL. Pour cela je vous renvoie vers la page de documentation officiel de SAMBA (en Anglais)

Ajout de la corbeille réseau

Pour cela il vous faudra ajouter ceci dans la section du partage dans le fichier /etc/samba/smb.conf :

        vfs objects = recycle,acl_xattr
        recycle:excludedir = /recycle,/tmp,/temp,/TMP,/TEMP
        recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
        recycle:noversions = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP
        recycle:versions = No
        recycle:keeptree = Yes
        recycle:touch = Yes
        recycle:repository = /mnt/data/%S/Corbeille

et chaque fichiers supprimés seront placer dans le dossier Corbeille a la racine dans le dossier /mnt/data/%S/Corbeille (%S représente le nom du partage)

kb/linux/samba/creer_des_partages_reseau_sur_un_serveur_autonome.txt · Dernière modification: 2018/12/22 17:06 de beu