Como evitar que os usuários renomeiem arquivos enquanto fornecem permissões de gravação no Linux

Como evitar que os usuários renomeiem arquivos enquanto fornecem permissões de gravação no Linux

Para algum propósito especial, quero evitar que usuários não-root do servidor Linux alterem ou renomeiem os nomes dos arquivos. No entanto, eles podem modificar e gravar o conteúdo do arquivo. Como fazer isso na linha de comando.

Responder1

Para renomear um arquivo, as permissões de gravação no arquivo não importam; renomear um arquivo é uma alteração no diretório, não no arquivo. Isso está alterando a entrada do diretório para ter um nome diferente apontando para o arquivo.

Então tudo que você precisa fazer é alterar as permissões do diretório. Por exemplo:

chown root: .
chmod 755 .

Isso impedirá que os usuários renomeiem arquivos lá, mas também criem ou excluam arquivos. Se você ainda quiser que eles possam fazer isso, você pode tornar o diretório gravável, mas também definir o tbit. Com esse bit definido, os usuários (exceto o proprietário do diretório que não está restrito) só podem excluir ou renomear os arquivos de sua propriedade.

chown root:people-who-can-create-file-here .
chmod 1775 .
chown root:people-who-can-modify-the-files file1-that-must-not-be-rename ...
chmod 664 file1-that-must-not-be-rename ...

informação relacionada