44 votes

Comment puis-je configurer des partages Samba pour n'être accessibles que par certains utilisateurs ?

J'ai un ensemble RAID10 monté sur Ubuntu Server 12.04. J'ai créé quelques dossiers dans le point de montage et je veux la fonctionnalité suivante.

Il y aura 4 utilisateurs, 3 d'entre eux sont des utilisateurs Windows : 'one' 'two' & 'three'. 'four' est un diffuseur multimédia qui a juste besoin d'accéder au partage MEDIA. One Two et Three ont besoin d'avoir un accès complet au partage média et à leurs propres partages personnels (pour les documents) auxquels aucun autre utilisateur que eux ne peut accéder.

Actuellement, l'utilisateur Four fonctionne parfaitement (a un accès complet au dossier MEDIA et ne peut pas accéder aux dossiers appartenant à d'autres utilisateurs). Le problème est, lorsque je suis connecté en tant qu'autre utilisateur, je ne peux pas accéder à aucun des partages; (j'ai essayé d'utiliser valid users = et en utilisant chmod pour ajouter des autorisations sans succès).

TL; DR: Je dois savoir comment configurer correctement Samba pour restreindre l'accès à certains partages pour certains utilisateurs et permettre à tous d'accéder à un dossier commun (tous les fichiers sur un montage RAID10).

59voto

phoibos Points 19941

Chaque utilisateur de samba doit également disposer d'un compte linux normal.

  1. Assurez-vous que chaque utilisateur peut accéder au dossier média commun du côté unix (sans samba); alternativement, vous pouvez définir force user dans smb.conf
  2. Assurez-vous que chaque utilisateur a défini un mot de passe samba. Vous pouvez le définir avec sudo smbpasswd -a votre_utilisateur
  3. Regardez dans /etc/samba/smb.conf : vérifiez si la ligne security = user est définie dans la section [GLOBAL]
  4. Définissez vos partages dans /etc/samba/smb.conf, voir exemple

Exemples de partages:

[allaccess]
    path = /media/common
    read only = no
    writeable = yes
    browseable = yes
    valid users = one, two, three, four
    create mask = 0644
    directory mask = 0755
    ; si vous définissez ceci, tous les fichiers sont écrits en tant qu'utilisateur 
    force user = one

Ceci sera accessible via \\votreserveur\allaccess

Un partage utilisateur unique:

[special]
    path = /home/two/onlytwo
    read only = no
    writeable = yes
    browseable = yes
    valid users = one
    create mask = 0640
    directory mask = 0750

Redémarrez le serveur samba après les changements avec:

sudo service smbd restart

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X