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 t
bit. 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 ...