Como administrar grupos com gpasswd
Cada arquivo e pasta dentro Linux envolve permissões de usuário, grupo e proprietário. Ao controlar quem tem acesso a um grupo, você pode controlar o que acontece com arquivos e pastas em seu sistema sem ter que definir permissões para cada usuário.
Este procedimento funciona para todas as distribuições Linux que executam qualquer ambiente de desktop e shell. Os procedimentos descritos abaixo foram testados usando Ubuntu 19.10 com o ambiente de desktop Budgie e Zsh, rodando em uma máquina virtual Hyper-V no Windows 10.

Como adicionar um usuário a um grupo
Use o comando sudo addgroup [groupname] para criar um grupo, se ainda não tiver criado um.
O comando para modificar a senha de um grupo existente, gpasswd, assume a seguinte forma geral:
gpasswd [opção] grupo
As opções disponíveis para este comando incluir:
- -uma, --adicionar: Adiciona um usuário ao grupo nomeado.
- -d, --excluir: Remove um usuário do grupo nomeado.
- -h: Exibe um resumo da ajuda e depois sai.
- -Q, --raiz: Aplique as alterações no diretório raiz do grupo e use os arquivos de configuração dele.
- -r, --remove-password: Remova a senha do grupo. Apenas as pessoas que já foram adicionadas ao grupo podem ativá-lo para a sessão usando o newgrp comando.
- -R, --restringir: Restrinja o acesso ao grupo e defina uma senha de grupo padrão de !. As pessoas devem fornecer a senha para entrar no grupo usando newgrp.
- -UMA, --administradores: Define a lista de pessoas que têm autoridade para administrar usuários (adicionar / excluir) ou alterar a senha do grupo.
- -M, --membros: Define a lista de membros do grupo.
O método usual de modificar um grupo envolve o groupmod comando.
Como funciona
o gpasswd O comando serve como um front end baseado em shell para administrar os arquivos / etc / group e / etc / gshadow. Além de abreviar os processos de atribuição de usuários e grupos (o que normalmente ocorre com o usermod comando), gpasswd define uma senha opcional em um grupo.
Linux inclui um newgrp comando pelo qual uma conta de usuário comum pode obter acesso a diferentes grupos de usuários ou para alterar o ID do grupo ativo durante uma determinada sessão de login. Para evitar um possível ingresso impróprio no grupo, a senha do grupo é exigida sempre que alguém tenta ingressar no grupo por meio do newgrp comando.
Por que você deve evitar 'gpasswd'
Era uma vez, a ideia de uma senha de grupo provavelmente fazia sentido; a prática espelhava usuários individuais acessando suas contas com uma senha. No entanto, embora esse recurso permaneça embutido no Linux, é preferível evitar o uso de senhas de grupo - e usar gpasswd para modificar o acesso em nível de grupo. Aqui está o porquê:
- Segurança: Geralmente, é adequado adicionar usuários individuais a grupos secundários por um administrador de sistema, do que permitir que usuários individuais selecionem e escolham grupos individualmente. Afinal, uma senha em nível de grupo é tão segura quanto a pessoa que a conhece e vaza publicamente, o que prejudica o valor de segurança da senha em primeiro lugar.
- ACLsObservação: A ampliação do uso das Listas de Controle de Acesso supera algumas das peculiaridades do modelo de segurança do proprietário / grupo / usuário.
- Sudo: Em alguns casos, especialmente com casos de uso mais raros (por exemplo, acessar certas informações confidenciais), adicionar uma função especial de sudo é suficiente, além de ser retroativamente auditável.