Se o chown pode mudar de grupo, por que o chgrp foi criado?

23

Portanto, existe o chownque permite alterar o proprietário e o grupo de arquivos e / ou diretórios. Mas há também o chgrpque apenas muda de grupo. Por que foi chgrpcriado? Não é redundante?

dayuloli
fonte
Você pode consultar o link aqui para obter mais informações. serverfault.com/questions/462174/…
Ramesh

Respostas:

36

chowninicialmente não foi possível definir o grupo. Posteriormente, algumas implementações o adicionaram como chown user.group, outras chown user:groupaté que finalmente foram padronizadas (ênfase minha):

O método 4.3 BSD de especificar o proprietário e o grupo foi incluído neste volume do POSIX.1-2008 porque:

Há casos em que a condição final desejada não pôde ser alcançada usando os utilitários chgrp e chown (que apenas alteraram o ID do usuário). (Se o proprietário atual não for membro do grupo desejado e o proprietário desejado não for membro do grupo atual, a função chown () poderá falhar, a menos que o proprietário e o grupo sejam alterados ao mesmo tempo.)

Mesmo que eles possam ser alterados independentemente, nos casos em que ambos estão sendo alterados, há uma penalidade de 100% no desempenho causada por ser forçado a invocar os dois utilitários.

Mesmo agora, chown :groupmudar apenas o grupo não é portátil ou padrão.

chown user:(para atribuir o grupo principal do userno banco de dados do usuário) também não é padrão.

Stéphane Chazelas
fonte
2
@dayuloli, obrigado pela edição, mas eu não incluir essa seção da especificação, porque eu não entendo
Stéphane Chazelas
Boa pergunta! Voto a favor!
dayuloli
É bom ver que: group ans user: foram mencionados como não padrão. Muitas pessoas aqui verificam apenas o que o fornecedor local faz e isso não é útil em um portal UNIX genérico.
schily