¿Cómo puedo configurar recursos compartidos de Samba para que solo ciertos usuarios puedan acceder?

31

Tengo una matriz RAID10 montada en Ubuntu Server 12.04. He creado algunas carpetas dentro del punto de montaje y quiero la siguiente funcionalidad.

Habrá 4 usuarios, 3 de ellos son usuarios de Windows: 'uno' 'dos' y 'tres'. 'cuatro' es un transmisor de medios que solo necesita acceder al recurso compartido MEDIA. One Two and Three necesitan tener acceso completo al recurso compartido de medios y sus propios recursos compartidos personales (para documentos) a los que no pueden acceder otros usuarios sino ellos.

Actualmente, el usuario cuatro funciona perfectamente (tiene acceso completo a la carpeta MEDIA y no puede acceder a las carpetas de otros usuarios). El problema es que, cuando inicie sesión como el otro usuario, no puedo acceder a ninguno de los recursos compartidos; (Intenté usar usuarios válidos = y usar chmod para agregar permisos en vano).

TL; DR: Necesito saber cómo configurar Samba correctamente para restringir el acceso a ciertos recursos compartidos para ciertos usuarios y permitir que todos accedan a una carpeta comunitaria (todos los archivos en un montaje RAID10).

Liam
fuente

Respuestas:

45

Cada usuario de samba también debe tener una cuenta normal de Linux.

  1. Asegúrese de que cada usuario pueda acceder a la carpeta multimedia común en el lado de Unix (sin samba); Alternativamente, puede configurar force userensmb.conf
  2. Asegúrese de que cada usuario tenga establecida una contraseña de samba. Puedes configurarlo consudo smbpasswd -a your_user
  3. Mire /etc/samba/smb.conf: verifique si la línea security = userestá establecida en la [GLOBAL]sección
  4. Establezca sus acciones en /etc/samba/smb.conf, vea el ejemplo

Ejemplo de acciones:

[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

Esto será accesible a través de \\yourserver\allaccess

Un único usuario compartido:

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

Reinicie el servidor samba después de los cambios con:

sudo service smbd restart
phoibos
fuente
2
Usted señor, es un dios, las máscaras y el usuario de la fuerza era lo que necesitaba todo el tiempo pero no entendía.
Liam
44
Creo que "solo lectura" y "escritura" son los llamados "sinónimos invertidos" entre sí. No es necesario configurarlos a ambos.
Mike Diehn
1
¡Increíble! Había hecho todo excepto el paso 2. Nunca he visto eso mencionado en ningún otro lugar al configurar acciones de samba. ¡¡Gracias!!
PatrickSteele
No especifique el nombre compartido como temporal si desea que se pueda escribir.
SergA