Melhore o gerenciamento de usuários aprendendo mais sobre os grupos de usuários existentes em seu computador Linux.
Os grupos de usuários no Linux ajudam a definir um conjunto de permissões que você pode impor a outros usuários. O Unix e o Linux vêm com alguns grupos de usuários pré-configurados e, como administrador, é fácil criar grupos adicionais para categorizar e gerenciar ainda mais os usuários.
Mas antes de criar um novo grupo, você gostaria de saber mais sobre os existentes. Felizmente, existem várias maneiras de listar todos os grupos de usuários presentes no Linux, e você pode até visualizar a lista de grupos dos quais um usuário específico faz parte. Vamos começar.
Usando o arquivo /etc/group
O /etc/group O arquivo contém informações sobre todos os grupos de usuários locais configurados em uma máquina Linux. Com o arquivo /etc/group, você pode visualizar nomes de grupos, senhas, IDs de grupos e membros associados a cada grupo.
Visualize o conteúdo do arquivo usando o comando cat:
gato /etc/grupo
A saída pode ser confusa no início. Onde estão os nomes dos grupos? E o que são esses "x"s e dois pontos na saída?
A primeira coluna (o texto antes dos dois primeiros pontos) é o que você está procurando. Você pode visualizar uma versão aprimorada do arquivo e exibir apenas os nomes dos grupos usando o comando cut:
gato /etc/grupo | cortar -d: -f1
Essa lista simples é mais agradável aos olhos e perfeita para uso em scripts.
Você também pode contar o número total de grupos locais em sua máquina usando wc:
gato /etc/grupo | wc-l
Para tornar as coisas interessantes, crie um novo grupo usando o comando groupadd e, em seguida, visualize o número total de grupos de usuários em seu sistema. Como é óbvio, a contagem aumentará em um e você poderá ver o nome do grupo listado na saída.
Listar grupos usando o comando getent
getent, abreviação de "obter entradas", é um comando do Linux para visualizar o conteúdo dos arquivos de informações do sistema, também conhecidos como bancos de dados, no Linux. /etc/group, /etc/passwd, e /etc/shadow arquivos são bons exemplos de tais bancos de dados.
Usar o comando getent para visualizar as informações do grupo de usuários no Linux é direto. Tudo que você precisa fazer é digitar getent seguido do arquivo que deseja visualizar. Neste caso, é o arquivo do grupo.
grupo getent
A saída de "grupo getent" será um pouco diferente do gato /etc/grupo comando. Isso ocorre porque getent extrai informações de grupo de outros bancos de dados semelhantes em seu sistema (LDAP, por exemplo).
Use o comando cut para analisar a saída e exibir apenas os nomes dos grupos:
grupo getent | cortar -d: -f1
O comando getent é versátil. Você pode listar os nomes de todos os usuários no Linux obtendo todas as entradas do /etc/passwd arquivo e, em seguida, analisando a saída para nomes de usuário.
Exibir lista de grupos para um usuário específico usando grupos
É difícil combinar visualmente nomes de usuário com seus grupos usando os métodos anteriores. Se você deseja apenas listar os grupos dos quais um determinado usuário faz parte, considere usar o comando groups.
A sintaxe básica do comando é:
nome de usuário dos grupos
Se você não especificar um nome de usuário, a saída exibirá todos os grupos do usuário atual. Mas, para fins de clareza, é melhor fornecer um nome de usuário como argumento.
Para obter uma lista de grupos para um usuário chamado "testuser", execute:
grupos testuser
Grupos simplificam o controle de acesso do usuário no Linux
Tecnicamente, o usuário root é o proprietário de todo o sistema e possui permissões que nenhum outro usuário possui. Os grupos são uma forma de o superusuário categorizar os usuários, conceder-lhes autorizações e impor restrições para impedir que executem operações indesejáveis.
Em vez de conceder permissões a cada usuário, você pode criar um grupo e adicionar todos os usuários a ele. Então, tudo o que você precisa fazer é gerenciar as permissões do referido grupo e as regras serão impostas aos membros automaticamente. Essa é uma das muitas maneiras de gerenciar usuários no Linux e em outros sistemas operacionais relacionados ao Unix.