Acredito (não tenho certeza) que o proprietário de um arquivo / diretório e o usuário root são os únicos que têm permissão para alterar as permissões de um arquivo / diretório. Estou correto ou existem outros usuários que também têm permissão para alterar as permissões?
files
permissions
user226341
fonte
fonte
Para fins de operação normal, apenas o root e o proprietário podem
chmod
. Além disso, o root podechown
echgrp
, além disso, o proprietário podechgrp
, desde que o proprietário seja um membro do grupo de destino.Por motivos de segurança, há outro caso: qualquer usuário com permissão de gravação no diretório que contém o arquivo pode substituir o arquivo por uma cópia e, assim, tornar-se o proprietário, adquirindo a capacidade de modificar as permissões e o conteúdo.
Igual a:
Criamos um diretório e escrevemos um arquivo como root. Como o root possui o arquivo, não podemos escrever nele nem chmod:
No entanto, temos permissão de gravação no diretório, para que possamos substituir o arquivo para obter a propriedade:
E agora que somos o proprietário, é claro que podemos fazer o que queremos com esse arquivo:
Da mesma forma, qualquer usuário com permissão de gravação para qualquer diretório no caminho completo que leva ao arquivo pode substituir a estrutura de diretórios a partir desse ponto, ganhando assim a propriedade do arquivo com o nome fornecido. A propriedade ou as permissões do arquivo original original (que renomeamos como "seuarquivo2") não são alteradas, é claro.
fonte
getfacl / setfacl
), que oferecem mais flexibilidade do que as permissões de arquivo no estilo "clássico". A exclusão do arquivo no * nix funciona removendo o link para o arquivo do diretório, para que a remoção do arquivo seja sempre controlada pelas permissões do diretório; as próprias permissões de arquivo não desempenham nenhum papel lá.O
chmod
comando chama diretamente diretamente a chamada do sistema com o mesmo nome; a página de manual dachmod(2)
chamada do sistema (no Linux 4.10) diz:Portanto, sim, um processo executando como root pode alterar as permissões de qualquer arquivo se ele não tiver diminuído a
CAP_FOWNER
capacidade.Também é de interesse
chown
; a página de manual parachown(2)
diz:fonte