
Se eu tiver dois usuários chamados john
e sally
. Ambos fazem parte do users
grupo. john
cria um diretório com permissões 775
. sally
em seguida, coloca um arquivo lá com 644
permissões.
Mesmo que o arquivo obviamente não tenha privilégios de gravação em grupo. Pode john
então modificar/excluir esse arquivo no diretório que ele possui, mas o arquivo que ele não possui?
Responder1
Ele pode excluir o arquivo porque a desvinculação depende das permissões do diretório, não dos arquivos. Desta forma, ele pode modificá-lo, pois pode removê-lo e substituí-lo no diretório.
Responder2
Sim, excluir um arquivo na verdade não modifica o arquivo, ele modifica o diretório e John tem permissão para fazer isso.
A maneira de evitar esse comportamento é definir o sticky bit
no diretório. É assim que /tmp permite que todos escrevam nele, mas apenas os proprietários (ou root) excluam coisas dele.
chmod +t directory
Isso ativará a parte pegajosa.