Quero criar uma pasta Pública que tenha acesso total ao RW. O problema com minha configuração é que os usuários do Windows não têm problemas como convidados (eles podem RW e Excluir), meu cliente Ubuntu não pode fazer o mesmo. Só podemos escrever e ler, mas não criar ou excluir.
Aqui está o meu smb.conf do meu servidor:
[global]
workgroup = WORKGROUP
netbios name = FILESERVER
server string = TurnKey FileServer
os level = 20
security = user
map to guest = Bad Password
passdb backend = tdbsam
null passwords = yes
admin users = root
encrypt passwords = true
obey pam restrictions = yes
pam password change = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
add user script = /usr/sbin/useradd -m '%u' -g users -G users
delete user script = /usr/sbin/userdel -r '%u'
add group script = /usr/sbin/groupadd '%g'
delete group script = /usr/sbin/groupdel '%g'
add user to group script = /usr/sbin/usermod -G '%g' '%u'
guest account = nobody
syslog = 0
log file = /var/log/samba/samba.log
max log size = 1000
wins support = yes
dns proxy = no
socket options = TCP_NODELAY
panic action = /usr/share/samba/panic-action %d
[homes]
comment = Home Directory
browseable = no
read only = no
valid users = %S
[storage]
create mask = 0777
directory mask = 0777
browseable = yes
comment = Public Share
writeable = yes
public = yes
path = /srv/storage
A seguinte entrada FSTAB não produz acesso R / W completo ao compartilhamento.
//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0
Isso também não funciona
//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
Usar o seguinte local no Nemo / Nautilus sem o compartilhamento sendo montado funciona:
smb://192.168.0.5/storage/
Informação extra. Acabei de perceber que, se eu copiar um arquivo para o compartilhamento após a montagem, meu cliente Ubuntu imediatamente fará com que "ninguém" seja o proprietário, e o grupo "nenhum grupo" tenha lido e gravado, com todos os outros como somente leitura.
O que estou fazendo errado?
Respostas:
Acontece que eu preciso adicionar um UID local (cliente) à linha de montagem no FSTAB para fazer isso funcionar. Cheguei a isso por pura força bruta:
fonte
cifs-utils
está instalado (para mim, não foi instalado no 16.04 após a instalação do "main" samba pkg). Se você não o tiver instalado, você receberá o erro 'bad fs / bad option'.//10.20.30.40/share/mysharedir /mnt/mymountpoint cifs guest,uid=nobody,iocharset=utf8,noperm 0 0
para/etc/fstab
entãosudo mount -a
. Parece montar / escrever bem agora.//server_name/share_name /media/local_mountpoint cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
O CIFS geralmente não tem nenhum conceito de usuário e grupo; portanto, montar um compartilhamento CIFs usará como padrão o usuário e o grupo como 'ninguém':
Como você não é 'ninguém', o Linux não permitirá que você escreva para qualquer coisa que não tenha permissão 0777, a menos que você use o sudo. Para corrigir isso, adicione uid = mylogin, gid = mygroup ao fstab e fará com que o compartilhamento apareça como se fosse seu próprio diretório:
Agora você tem controle total sem a necessidade de sudo.
Isso não está realmente alterando nada no servidor, pois o servidor não está aplicando nada. Está dizendo ao Linux para fingir que você é o proprietário e fornecer acesso irrestrito.
fonte
Você está quase lá. Abra o FSTAB usando:
Na última linha (ou na das últimas linhas), coloque:
*** (esta é uma linha longa)
Ctrl- Xfechar, Ysalvar e Enter para selar o acordo.
Agora reinicie por:
E você deve ter controle total do compartilhamento de rede no seu dispositivo Linux!
fonte
fstab
entradas. Apenasmount <DEVICE>
oumount <MOUNTPOINT>
ou mesmomount -a
fazer o trabalho muito bem.Eu tive esse problema e foi porque o usuário do compartilhamento não o possuía. Corrigi-o com "sudo chown {nome de usuário}: {nome de usuário} / {compartilhamento} / {caminho}" depois que eu pude mover e excluir arquivos.
fonte