Comment puis-je configurer des partages Samba pour que seuls certains utilisateurs y accèdent?

31

J'ai une matrice RAID10 montée sur Ubuntu Server 12.04. J'ai créé quelques dossiers dans le point de montage et souhaite les fonctionnalités suivantes.

Il y aura 4 utilisateurs, 3 d'entre eux sont des utilisateurs de Windows: «un» «deux» et «trois». 'four' est un streamer multimédia qui n'a besoin que d'accéder au partage MEDIA. Un deux et trois doivent avoir un accès complet au partage multimédia et à leurs propres partages personnels (pour les documents) auxquels aucun autre utilisateur que eux ne peut accéder.

Actuellement, l'utilisateur quatre 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 que, lorsque je suis connecté en tant qu'autre utilisateur, je ne peux accéder à aucun des partages; (essayé d'utiliser des utilisateurs valides = et d'utiliser chmod pour ajouter des autorisations en vain).

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

Liam
la source

Réponses:

45

Chaque utilisateur de samba doit également avoir un compte Linux normal.

  1. Assurez-vous que chaque utilisateur peut accéder au dossier multimédia commun du côté unix (sans samba); Alternativement, vous pouvez définir force userensmb.conf
  2. Assurez-vous que chaque utilisateur a un mot de passe samba défini. Vous pouvez le définir avecsudo smbpasswd -a your_user
  3. Regardez /etc/samba/smb.conf: vérifiez si la ligne security = userest définie dans la [GLOBAL]section
  4. Définissez vos partages /etc/samba/smb.conf, voir l'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
    ; if you set this, all files get written as this user
    force user = one

Celui-ci sera accessible via \\yourserver\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 modifications avec:

sudo service smbd restart
phoibos
la source
2
Vous êtes monsieur un dieu, les masques et l'utilisateur de force étaient ce dont j'avais besoin depuis le début mais je ne comprenais pas.
Liam
4
Je pense que «lecture seule» et «inscriptible» sont des «synonymes inversés» les uns pour les autres. Pas besoin de les régler tous les deux.
Mike Diehn
1
Impressionnant! J'avais tout fait sauf l'étape # 2. Je n'ai jamais vu cela mentionné ailleurs dans la configuration des partages samba. Merci!!
PatrickSteele
Ne spécifiez pas le nom de partage comme temp si vous voulez qu'il soit accessible en écriture.
SergA