Basicamente: quando eu, como usuário não root, executo chmod
em um arquivo, quando obtenho "permissões negadas" para esse comando e quando não? Qual propriedade do arquivo me permite ou me proíbe alterar as permissões dele?
Presumo que seja o proprietário do arquivo, perguntando aqui porque estou lutando um pouco para aprender sobre os conceitos básicos subjacentes.
Responder1
DR:Se você deseja executar chmod
um arquivo no GNU/Linux, você precisa ser root ou proprietário do arquivo.
Dechmod(2)(chamada de sistema chmod) página de manual:
O UID efetivo do processo de chamada deve corresponder aodono do arquivo, ou o processo deve ser privilegiado (Linux: deve ter o CAP_FOWNERcapacidade).
Decapacidades(7)página de manual:
CAP_FOWNER
- Ignorar verificações de permissão em operações que normalmente exigem que o UID do sistema de arquivos do processo corresponda ao UID do arquivo (por exemplo, chmod(2), utime(2)), excluindo as operações cobertas por CAP_DAC_OVERRIDE e CAP_DAC_READ_SEARCH; [...]
Desetfacl(1)página de manual:
PERMISSÕES
O proprietário do arquivo e os processos capazes de CAP_FOWNER recebem o direito de modificar ACLs de um arquivo. Isto é análogo às permissões necessárias para acessar o modo de arquivo. (Nos sistemas Linux atuais, root é o único usuáriocom oCAP_FOWNERcapacidade.)