Formas de pagamento Abuse

Comando CHGRP LINUX

14.12.2021, 10:30

Muitas vezes, ao executar o Linux, os utilizadores raramente pensam sobre a quem pertence um ficheiro. No entanto, quando se trata de executar um servidor, a situação muda. Para aumentar a segurança, o servidor tem o seu próprio utilizador. Não é incomum que os servidores usem o mesmo grupo, como www-data. A seguir, vamos ver como esta função funciona com ficheiros e diretórios. Vamos prestar especial atenção às ligações simbólicas, uma vez que podem causar problemas quando se utilizam definições inseguras.

O que significa

O padrão de permissões de ficheiros veio do Unix para o Linux. Assim, cada objeto tem um utilizador, um grupo e, além disso, descreve os direitos deoutros utilizadores(outros). As permissões consistem em três itens: ler, escrever, executar. O comando umask é utilizado para alterar as permissões, mas os comandos chown são utilizados para alterar diretamente o proprietário e o grupo. O comando ls pode ser utilizado para ver as permissões actuais.

Sintaxe e opções

Visão geral do comando chgrp:

$ chgrp [options] new_group file_name

Lista de opções comuns para o comando chgrp:

  1. -h - trabalha diretamente com as próprias ligações simbólicas;
  2. --dereference - trabalha com ficheiros, não com as próprias ligações simbólicas. Usado por padrão;
  3. -R - processamento recursivo de um diretório com todo o seu conteúdo;
  4. -H - segue a ligação simbólica e altera os atributos do ficheiro/diretório. Usado em conjunto com o parâmetro -R;
  5. -L - segue a ligação simbólica e continua o processamento recursivo. Usado em conjunto com o parâmetro -R;
  6. -P - ao encontrar um link simbólico, processa apenas ele. Usado junto com o parâmetro -R, é o valor padrão;
  7. --reference=nome_do_arquivo - usa o grupo de amostra;
  8. -c - a saída só é alterada durante o processamento;
  9. -v - produz informações sobre cada objeto processado.

Utilização do comando

O exemplo mais simples de utilização do comando chgrp. O seguinte altera todo o objeto www-data para o ficheiro na pasta atual:

$ sudo chgrp www-data file.txt

E este aqui altera o grupo para www-data para a pasta pasta:

 $ sudo chgrp www-data folder

O comando funciona de uma forma muito previsível, alterando o grupo. Os objectos na pasta permanecem inalterados. Se as ligações simbólicas forem tratadas, os seus atributos permanecem inalterados, mas o objeto recebe um novo grupo. Este comportamento é semelhante ao tratamento do parâmetro --dereference.

Por exemplo, estes comandos aplicados a ligações simbólicas funcionarão como mostrado na imagem de ecrã:

$ sudo chgrp www-data sym_file.txt

Vamos dar uma olhada em como o parâmetro -h que altera os atributos de um link simbólico funcionaria:

$ sudo chgrp -h www-data sym_file

O grupo foi definido não apenas para o diretório, mas também para todos os arquivos dentro dele. Note que o comportamento mudou, agora ao processar uma ligação simbólica os atributos são definidos para a própria ligação, não para o objeto.

Para ver a diferença entre os parâmetros -H e -L, vamos dar uma olhada em mais alguns exemplos. Lembre-se de que eles devem ser usados junto com -R:

$ sudo chgrp -RH www-data folder

Usando -H o comportamento ao processar links simbólicos mudou, eles agora são tratados como se as funções fossem executadas separadamente. Os atributos das referências não se alteram, os atributos dos próprios objectos sim, e o processamento recursivo pára quando se muda para um diretório.

$ sudo chgrp -RL www-data folder

Ele executa uma função - altera o grupo de ficheiros e diretórios.

Ao processar ligações simbólicas, deve ser extremamente cuidadoso para não danificar o sistema.