Qual usuário (além do root) pode alterar as permissões de arquivo no Linux?

Qual usuário (além do root) pode alterar as permissões de arquivo no Linux?

Basicamente: quando eu, como usuário não root, executo chmodem 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 chmodum 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.)

informação relacionada