
Eu tenho um servidor de arquivos Samba em execução e queria saber como poderia criar várias contas de usuário com permissões diferentes. Por exemplo, no momento eu tenho um usuário, smbusr, mas quando faço ssh para o compartilhamento, posso ler, escrever, executar e até mesmo navegar para fora do diretório samba e fazer coisas no computador real. Isso é ruim porque quero poder divulgar meu IP para que amigos/familiares possam usar o servidor, mas não quero que eles possam fazer qualquer coisa.
Quero bloquear o usuário no diretório de compartilhamento do samba (e em todos os subdiretórios). Eventualmente gostaria de vários perfis como (smbusr_R, smbusr_RW, smbguest_R, smbguest_RW).
Também tenho uma segunda pergunta relacionada a isso: o SSH é o melhor método para conectar-se a partir de outras máquinas Unix? E quanto à VPN? Ou simplesmente montando assim:
mount -t ext3 -o user=username //ipaddr/share /mnt/mountpoint
Esse comando de montagem acima é a mesma coisa que uma VPN? Isso está realmente me confundindo.
Obrigado pela ajuda pessoal, deixe-me saber se precisar ver algum arquivo ou precisar de mais informações.
EDIT: Aqui está minha definição de compartilhamento de samba:
[SAMBA]
path = /samba
browseable = yes
guest ok = no
read list = smbusr_RO
write list = smbusr
EDIT2: Aqui está todo o meu arquivo smb.conf:
Responder1
Sim, o Samba pode suportar ACLs hoje em dia. são necessárias algumas linhas na seção global e uma lista de ACLs permitidas e negadas por compartilhamento. alguns ajustes podem ser necessários nas permissões do sistema de arquivos subjacente para suportá-los, já que os sistemas de arquivos ext não executam ACLs por padrão.
aqui está um tutorial:http://aisalen.wordpress.com/2007/08/10/acls-on-samba/
e uma referência geral para o arquivo SMB.conf:http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
Editar: tente alterar sua configuração de compartilhamento assim. observe que os grupos de SO exigem um '@' na frente e que a lista de gravação não implica leitura privada, portanto, coloque ambos os grupos na lista de leitura.
adicione-os aos globais:
invalid users = root
valid users = @smbusers, @smbusers_RO
create mask = 02775
directory mask = 02770
[SAMBA]
comment = Debian File Server With Read Write
invalid users=nobody,nobody
valid users=@smbusr,@smbusr_RO
path = /samba
browseable = yes
guest ok = no
read list = @smbusr,@smbusr_RO
write list = @smbusr
writeable=yes
execute também 'sudo testparm -s' para verificar a integridade do arquivo de configuração.
em termos de permissões do sistema de arquivos, você pode chown -R seus arquivos pertencerem a 'root: smbusers', para que a permissão do seu grupo controle quem pode escrever, e sua outra permissão possa controlar quem pode ler (smb garantirá que as permissões de leitura são concedidos apenas a 'smbusers_RO'). então eu recomendo usar SetGID para que todas as novas pastas criadas no compartilhamento sejam de propriedade de :smbusers e todos os seus smbusers tenham acesso a elas.
chown -R root:smbusers /samba
chmod -R 2775 /samba