Como posso usar, de preferência um único chmod
comando, que permitirá a qualquer usuário criar um arquivo em um diretório, mas apenas o proprietário de seu arquivo (o usuário que o criou) pode excluir seu próprio arquivo, mas ninguém mais nesse diretório.
Eu estava pensando em usar:
chmod 755 directory
Como o usuário pode criar um arquivo e excluí-lo, mas isso não permitirá que o usuário exclua os arquivos de outras pessoas?
Eu só quero que a pessoa que criou o arquivo possa excluir seu próprio arquivo. Portanto, qualquer pessoa pode criar um arquivo, mas somente a pessoa que criou um arquivo pode excluí-lo (no diretório).
A parte pegajosa pode fazer mais ou menos o que você quer. De
man 1 chmod
:Ou seja, a presença do sticky bit em um diretório só permite que os arquivos contidos sejam renomeados ou excluídos se o usuário for o proprietário do arquivo ou o proprietário do diretório que o contém (ou o usuário for root).
Você pode aplicar o sticky bit (que é representado por octal 1000 ou
t
) assim:A maioria dos
/tmp
diretórios é criada com esse tipo de conjunto de permissões.Você quer o mundo pouco "pegajoso". A maneira simbólica de definir esse bit é:
A forma "modal" é: