No Unix, apagar ou renomear um arquivo / diretório é uma ação em seu diretório pai. Os flags de acesso se aplicam ao inode apontado pelo nome.
Em um sistema CentOS7, instalei o samba para criar um compartilhamento para os clientes do Windows usando as seguintes etapas:
mkdir /samba/myShare
Em seguida, defini /samba/myShare
como minha pasta compartilhada por meio do arquivo smb.conf
. Depois disso, fiz os seguintes passos:
chmod 777 /samba/myShare #(drwxrwxrwx)
mkdir /samba/myShare/myFolder
chmod 774 /samba/myShare/myFolder #(drwxrwxr--)
Agora, pensei que o diretório myFolder
estaria protegido contra a alteração do nome ou a exclusão dele por meio de usuários do Windows, dando apenas permissão de leitura a "outros usuários", mas esse não era o caso. O diretório em si permaneceu gravável. Então eu estava googling para isso e cheguei ao ponto em que o diretório permaneceu gravável porque como um diretório-filho ele pega as permissões de seu diretório-mãe, que é /samba/myShare
no meu caso. Mas agora vem a coisa estranha que me confunde muito:
chmod 773 /samba/myShare/myFolder
( drwxrwx-wx
) não consigo mais alterar ou excluir o diretório pelo Windows. Alguém poderia por favor explicar o que é isso tudo? myfolder
através do cliente Windows quando defino as permissões como drwxrwxr--
e não posso excluir ou alterá-las quando defino as permissões para drwxrwx-wx
? A entrada no smb.conf
pode ser útil:
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user'
'[myShare]
comment = myShare
path = /samba/myShare
public = yes
writeable = yes
Ah sim: eu sei que a configuração 777-permissions não é muito comum, mas isso foi apenas para testes.