Gostaria de permitir que os usuários chmodem um arquivo pertencente à raiz ou algum usuário que não seja ele próprio. Eu chmod'ed o arquivo para 777 e recebo "operação não permitida". Eu adicionei o usuário ao grupo do arquivo e obtive o mesmo. Por que um usuário não pode chmod um arquivo ao qual tem acesso de gravação?
permissions
ashleysmithgpu
fonte
fonte
sudo
: linux.die.net/man/8/sudo & linux.die.net/man/5/sudoersRespostas:
Para os direitos normais de acesso, essa é uma decisão de design. Você precisa de richacls :
WRITE_ACL
e talvezWRITE_OWNER
.fonte
As permissões Unix são projetadas para serem simples. Você precisa da permissão de leitura para ler um arquivo, da permissão de gravação para gravar em um arquivo e da permissão de execução para executar um arquivo. Você precisa possuir um arquivo para modificar seus metadados¹.
Permitir que um usuário que possa ler um arquivo conceda permissão de leitura a outros, ou permita que um usuário que possa gravar um arquivo conceda permissão de gravação a outros, não alteraria muito o modelo de segurança. Isso ocorre porque as permissões unix são discricionárias: um usuário que pode ler um arquivo pode expor seu conteúdo a outros usuários, mesmo que esses outros usuários não possam ler o arquivo (e da mesma forma para escrever, o usuário poderia atuar como proxy e escrever em nome de outras pessoas).
Por outro lado, permitir que um usuário conceda permissão que não possui violaria completamente o sistema de permissão: o usuário poderia conceder todas as permissões a si próprio.
É muito raro precisar alterar as permissões de um arquivo que você não possui. Normalmente, você deve providenciar para que o arquivo tenha as permissões corretas assim que for criado. Se você realmente precisar disso, poderá conceder ao usuário
sudo chmod
direitos para um modo específico e um arquivo específico (por exemplojoe: ALL = (ALL) chmod g+r /path/to/file
).¹ Exceto pelos tempos de acesso e modificação, que são específicos porque a leitura ou gravação no arquivo também os define.
fonte