Quero compartilhar uma pasta para mim e para outro usuário com o samba. Eu criei o smb.conf assim:
[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
o usuário1 sou eu e posso acessar esse compartilhamento e ver tudo e posso escrever para que funcione bem, mas o usuário2 só consegue fazer login, todo o resto não está acessível, até mesmo lendo arquivos. Minha pergunta é como torná-lo legível e gravável para o usuário2? Presumo que isso possa estar relacionado às permissões para acessar a pasta da biblioteca de filmes do usuário2. Não tenho certeza de como devo atribuir permissões ou grupos adequados.
Responder1
Seus dois usuários estão, por padrão, em seus próprios grupos: user1:user1 e user2:user2.
Os arquivos provavelmente pertencem a user1:user1 sem acesso a 'outros' usuários.
As soluções variam das mais simples às mais robustas:
- Finja que todos estão
user1
contribuindoforce user = user1
para o compartilhamento.
user2
agora tem todos os direitos e permissões queuser1
possui.- De acordo com o comentário de @DeeJayh, você também desejará adicionar
valid users = user1 user2
para que os usuários 3 e 4, etc., não possam navegar no compartilhamento.
- Finja que todos estão em grupo
user1
adicionando itensforce group = user1
ao compartilhamento.
- Mesma advertência acima, mas você pode remover o acesso de gravação em grupo com
chmod g-w ...
- Conceda acesso de leitura/execução a TODOS.
- Isto incluindo
user2
- Todos no sistema terão acesso aos arquivos tal como existem agora, embora não via samba.
- Adições futuras precisarão dessa execução todas as vezes.
chmod -R o+rx /media/user1/multimedia/video/movies-library
- Compartilhar grupo
- Crie um grupo do qual
user1
euser2
sejam membros e defina a propriedade dos arquivos para esse grupo. - Adicione esse grupo a ambos os usuários.
- Defina a propriedade do grupo do compartilhamento para esse grupo.
- Certifique-se de que tudo nesse diretório seja acessível ao grupo.
- DefinaGID no diretório para que adições futuras herdem o grupo.
-
sudo usermod -a -G media-share user1 sudo usermod -a -G media-share user2 chown -R user1:media-share /media/user1/multimedia/video/movies-library chmod -R g+rx /media/user1 /multimedia/video/movies-library chmod -R g+s /media/user1/multimedia/video/movies-library```
- Se você adicionar arquivos via samba, poderá definir o diretório e a máscara de arquivo para garantir permissões de grupo adicionando
create mask = 0750
edirectory mask = 0770
ao compartilhamento.