Parece que tenho dificuldade em entender as configurações do samba no Ubuntu. Digamos que eu tenha 4 pastas em / srv, estas são media, share, bob-personal e joe-personal. Eu também tenho 3 usuários: bob, joe e nas. Usuários bob e joe são usuários padrão (um deles está desabilitado no Ubuntu, já que eu não atribuí uma senha, para ambos os usuários, o arquivo deles no AccountsService tem uma entrada “SystemAccount = true”, então eles não aparecem na tela de login). nas é o administrador do sistema. Eu usei esse usuário para configurar o NAS (para tudo que não precisa ser feito como root) e estou atualmente conectado como esse usuário. Existem também os seguintes grupos de usuários: all-share (inclui bob, joe, nas), compartilhamento de mídia (inclui bob, nas), joe (inclui joe, nas) e bob (inclui bob, nas).
Inicialmente, defino chown nas:media-share media
e chown nas:all-share share
. Eu também defino chown joe:joe joe-personal
e chown bob:bob bob-personal
e defino chmod 660 <foldername>
para todas essas pastas. Os compartilhamentos foram configurados assim:
[media]
path = /srv/media
comment = Media Share
writeable = yes
valid users = @media-share
[share]
path = /srv/share
comment = Common Share
writeable = yes
valid users = @all-share
[joe-personal]
path = /srv/joe-personal
comment = Personal Folder Joe
writeable = yes
valid users = @joe
[bob-personal]
path = /srv/bob-personal
comment = Personal Folder Bob
writeable = yes
valid users = @bob
É claro que também adicionei todos esses usuários ao DB dos usuários do Samba. No entanto, não consegui acessar nenhuma dessas pastas de nenhuma máquina usando qualquer conta de usuário possível (o Windows sempre diz "Você não tem permissão para acessar ...").
Em seguida, adicionei uma linha force user = nas
a cada declaração de compartilhamento, alterei a propriedade de cada pasta para o nas nas e alterei as permissões do usuário para 700. Agora, tudo funciona como um encanto!
O único problema é que, obviamente, todos os novos arquivos criados em qualquer uma dessas pastas são de propriedade do nas, ao contrário do usuário remoto conectado que os criou. Este não é um grande problema para mim, mas ainda seria muito conveniente ver quem criou o que (para estatísticas, culpar, etc.). Alguém tem uma ideia de por que não foi possível acessar nada com a configuração antiga?
Aqui está um despejo das minhas configurações globais:
[global]
server string = %h Samba NAS
server role = standalone server
security = USER
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
username map = /etc/samba/smbusers
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
invalid users = root
Informações do sistema: Ubuntu 16.04.02, atualizado, Samba instalado ontem