Como posso impedir que os usuários excluam arquivos / pastas, mas podem adicionar / modificar no linux?

1

Eu tenho uma pasta my_folder que contém arquivos e pastas

my_folder
|-- my_sub_folder
|   |-- my_file_1.txt
|
|-- my_file_2.txt
|-- my_sub_folder_2
|   |-- my_file_2.txt

Eu quero definir permissões que o usuário pode adicionar / modificar arquivos e diretórios para my_folder , mas não é possível excluir nada nele. É uma espécie de permissões somente para gravação.

É possível fazer isso?

    
por Anonymous 01.12.2014 / 06:10

1 resposta

0

Se você tornar o mundo dos diretórios gravável e definir o sticky bit neles, outros usuários poderão criar novos arquivos, mas só terão acesso de gravação aos arquivos que possuem.

De man chmod :

The sticky bit prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp.

Por exemplo, como root:

# cd my_folder
# find . -type d | xargs chmod 1777 

A permissão de bit pegajoso aparece como t na saída de ls :

# ls -ld my_folder
drwxrwxrwt 4 root root 4096 2014-12-01 18:52 my_folder

Agora, como usuário comum:

$ cd my_folder
$ echo foo > user_file     # ok
$ rm user_file             # ok
$ rm  -f my_sub_folder/my_file_1.txt
rm: cannot remove 'my_sub_folder/my_file_1.txt': Operation not permitted
    
por 01.12.2014 / 19:12

Tags