8.9. Grupos

Um grupo é simplesmente uma lista de usuários. Os grupos são identificados por nome e GID (ID de Grupo). No FreeBSD (e na maioria de outros sistemas UNIX®), os dois fatores que o kernel usa para decidir se um processo está tem permissão para algo é seu ID de usuário e a lista dos grupos à que ele pertence. Diferente de um ID de usuário, um processo tem uma lista dos grupos associados à ele. Você eventualmente pode precisar consultar o ``ID de grupo'' de um usuário ou de um processo; na maioria das vezes seus direitos implicam apenas no primeiro grupo da lista.

O nome do grupo para ser identificado no mapa de ID de grupos está em /etc/group. Trata-se de um arquivo de texto plano com quatro campos delimitadores. O primeiro campo é o nome do grupo, o segundo é a senha encriptada, o terceiro é o ID de grupo, e o quarto é a lista de membros daquele grupo, delimitado por vírgula. Pode seguramente ser editado na mão (supondo naturalmente, que você não vá cometer erros de sintaxe!). Para uma descrição mais completa da sintaxe, veja a página de manual group(5).

Se você não quiser editar manualmente o /etc/group, pode utilizar o comando pw(8) para adicionar e editar grupos. Por exemplo, para adicionar um grupo chamado timedois e em seguida confirmar que ele foi criado, você pode usar:

Exemplo 8-8. Adicionando um grupo por meio do pw(8)

# pw groupadd timedois
# pw groupshow timedois
timedois:*:1100:

O número 1100 acima identifica o ID do grupo timedois. Agora, timedois não tem nenhum membro, e portanto é inútil. Vamos modificar aquele usuário jua e coloca-lo no grupo timedois.

Exemplo 8-9. Adicionando alguém a um determinado grupo por meio do pw(8)

# pw groupmod timedois -M jua
# pw groupshow timedois
timedois:*:1100:jua

A opção -M deve ser uma lista de usuários que serão membros do grupo em questão, delimitados por vírgula. Com base nas outras seções deste capítulo, sabemos que o arquivo de senha também contém o grupo de cada usuário. Se o usuário fizer parte apenas de um grupo, o valor identificado no campo em questão é valido. Do contrário o sistema inclui automaticamente o usuário à lista de membro de cada grupo, e o grupo primário não será apresentado com o argumento groupshow do pw(8), ou qualquer ferramenta similar. Ou seja pw(8) manipula somente o arquivo /etc/group; nunca tentará ler também dados do /etc/passwd.

Exemplo 8-10. Usando o id(1) para determinar grupos associados aos usuários

% id jua
uid=1001(jua) gid=1001(jua) groups=1001(jua), 1100(timedois)

Como pode-se notar, jua é membro dos grupos jua e timedois.

Para maiores informações sobre o pw(8), consulte sua página de manual e para maiores informações sobre o formato do /etc/group, consulte a página de manual group(5).

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.