Quiero compartir una carpeta para mí y para otro usuario con samba. He creado smb.conf así:
[global]
workgroup = WORKGROUP
server role = standalone server
map to guest = never
usershare allow guests = no
hosts allow = 192.168.0.0/16
hosts deny = 0.0.0.0/0
[movies-library-share]
comment = share of movies in local network
path = /media/user1/multimedia/video/movies-library
browseable = yes
writeable = yes
valid users = user1,user2
El usuario1 soy yo y puedo acceder a este recurso compartido y ver todo y puedo escribir para que funcione bien, pero el usuario2 solo puede iniciar sesión, no se puede acceder a todo lo demás, ni siquiera leer archivos. Mi pregunta es ¿cómo hacer que sea legible y escribible para el usuario2? Supongo que esto podría estar relacionado con los permisos para acceder a la carpeta de la biblioteca de películas para el usuario2. No estoy seguro de cómo debo asignar los permisos o grupos adecuados.
Respuesta1
Sus dos usuarios están por defecto en sus propios grupos: usuario1:usuario1 y usuario2:usuario2.
Es probable que los archivos sean propiedad del usuario1:usuario1 sin acceso a "otros" usuarios.
Las soluciones van desde las más simples hasta las más sólidas:
- Finge que todos lo están
user1
agregandoforce user = user1
a la acción.
user2
Ahora tiene todos los derechos y permisos queuser1
tiene.- Según el comentario de @DeeJayh, también querrás agregarlo
valid users = user1 user2
para que los usuarios 3 y 4, etc., no puedan explorar el recurso compartido.
- Imagine que todos son un grupo
user1
agregando elementosforce group = user1
al recurso compartido.
- La misma advertencia que arriba pero puedes eliminar el acceso de escritura grupal con
chmod g-w ...
- Otorgue a TODOS acceso de lectura/ejecución.
- Esto incluye
user2
- Todos en el sistema tendrán acceso a los archivos tal como existen ahora, aunque no a través de samba.
- Las adiciones futuras necesitarán esta ejecución cada vez.
chmod -R o+rx /media/user1/multimedia/video/movies-library
- Compartir grupo
- Cree un grupo del que
user1
seanuser2
miembros y establezca la propiedad de los archivos para ese grupo. - Agregue ese grupo a ambos usuarios.
- Establezca la propiedad grupal del recurso compartido para ese grupo.
- Asegúrese de que todo lo que hay en ese directorio sea accesible para el grupo.
- Establezca GID en el directorio para que futuras adiciones hereden el grupo.
-
sudo usermod -a -G media-share usuario1 sudo usermod -a -G media-share usuario2 chown -R usuario1:media-share /media/user1/multimedia/video/movies-library chmod -R g+rx /media/user1 /multimedia/video/biblioteca-de-películas chmod -R g+s /media/user1/multimedia/video/biblioteca-de-películas```
- Si agrega archivos a través de samba, puede configurar el directorio y la máscara del archivo para garantizar los permisos del grupo agregando
create mask = 0750
ydirectory mask = 0770
al recurso compartido.