Estou analisando um script e não consigo encontrar online o que chgrp 0
significa na seguinte linha:
find $1 -follow -exec chgrp 0 {}
assim
find $1
leva parâmetro,
-follow
causas find para seguir links simbólicos,
-exec
executa o comando,
chgrp 0
alterar a propriedade do grupo, mas o que 0 faz? ,
{}
para todos os itens encontrados pelo comando find.
Por favor me corrija se eu estiver errado em alguma coisa.
chgrp 0 file
mudará a propriedade do grupo do arquivofile
para o grupo com GID0
que em quase todos os casos no Linux é oroot
grupo (no BSD, isso é quase semprewheel
). Portanto, seufind
comando pesquisará no caminho fornecido pelo primeiro parâmetro posicional ($1
) por todos os objetos do sistema de arquivos contidos nele, seguirá quaisquer links simbólicos para seus destinos e tornará o grupo proprietário desses objetos GID0
,root
(ouwheel
).Basicamente, a propriedade de qualquer arquivo/diretório no linux é armazenada no inode . E é armazenado como um inteiro (inteiro para usuário e segundo inteiro para grupo). Depende apenas do seu NSS (por exemplo, arquivo /etc/passwd ou ldap) qual nome ele mostrará em ls. Executar a operação como
chgrp root file
o sistema levará o GID do grupo "root" (no meu caso é 0) e escreverá esse 0 no inode. Você também pode fazer algo assim:0 é o UID e GID da raiz. Então, enquanto você está executando o chgrp 0, você está alterando a propriedade do grupo do arquivo/diretório para root.