As contas de usuários podem ser atribuídas a um ou mais grupos no Linux. Você pode configurar permissões de arquivos e outros privilégios por grupo. Por exemplo, no Ubuntu, apenas usuários do grupo sudo podem usar o
sudo
comando para obter permissões elevadas.
Adicionar um novo grupo
Se você quiser criar um novo grupo em seu sistema, use o
groupadd
comando seguinte comando, substituindo new_group pelo nome do grupo que você deseja criar. Você precisará usar o sudo com esse comando também (ou, nas distribuições do Linux que não usam
sudo
você precisará executar o
su
comando por conta própria para obter permissões elevadas antes de executar o comando).
sudo groupadd mynewgroup
Adicionar uma conta de usuário existente a um grupo
Para adicionar uma conta de usuário existente a um grupo em seu sistema, use o
usermod
comando, substituindo
examplegroup
com o nome do grupo ao qual você deseja adicionar o usuário e
exampleusername
com o nome do usuário que você deseja adicionar.
usermod -a -G examplegroup exampleusername
Por exemplo, para adicionar o usuário
geek
para o grupo
sudo
use o seguinte comando:
usermod -a -G sudo geek
Alterar o grupo principal de um usuário
Enquanto uma conta de usuário pode fazer parte de vários grupos, um dos grupos é sempre o "grupo primário" e os outros são "grupos secundários". O processo de login do usuário e os arquivos e pastas criados pelo usuário serão atribuídos ao grupo principal.
Para alterar o grupo principal ao qual um usuário está atribuído, execute o
usermod
comando, substituindo
examplegroup
com o nome do grupo que você quer ser o principal e
exampleusername
com o nome da conta do usuário.
usermod -g groupname username
Note o
-g
Aqui. Quando você usa um g minúsculo, você atribui um grupo primário. Quando você usa uma maiúscula
-G
como acima, você atribui um novo grupo secundário.
Exibir os grupos aos quais uma conta de usuário está atribuída
Para ver os grupos aos quais a conta de usuário atual está atribuída, execute o
groups
comando. Você verá uma lista de grupos.
groups
Para visualizar os IDs numéricos associados a cada grupo, execute o
id
comando em vez disso:
id
groups
comando e especifique o nome da conta do usuário.
groups exampleusername
Você também pode ver os IDs numéricos associados a cada grupo executando o
id
comando e especificando um nome de usuário.
id exampleusername
O primeiro grupo no
groups
lista ou o grupo mostrado depois de “gid =” no
id
list é o grupo principal da conta de usuário. Os outros grupos são os grupos secundários. Então, na captura de tela abaixo, o grupo principal da conta de usuário é
example
Criar um novo usuário e atribuir um grupo em um comando
Às vezes, você pode querer criar uma nova conta de usuário que tenha acesso a um recurso ou diretório específico, como um novo usuário de FTP. Você pode especificar os grupos aos quais uma conta de usuário será atribuída ao criar a conta de usuário com o
useradd
comando, assim:
useradd -G examplegroup exampleusername
Por exemplo, para criar uma nova conta de usuário chamada jsmith e atribuir essa conta ao grupo de ftp, você executaria:
useradd -G ftp jsmith
Você desejará atribuir uma senha para esse usuário posteriormente, é claro:
passwd jsmith
Adicionar um usuário a vários grupos
Ao atribuir os grupos secundários a uma conta de usuário, você pode atribuir facilmente vários grupos de uma vez, separando a lista com uma vírgula.
usermod -a -G group1,group2,group3 exampleusername
Por exemplo, para adicionar o usuário chamado geek aos grupos ftp, sudo e example, você executaria:
usermod -a -G ftp,sudo,example geek
Você pode especificar quantos grupos quiser - apenas separe todos com uma vírgula.
Ver todos os grupos no sistema
Se você quiser ver uma lista de todos os grupos em seu sistema, você pode usar o
getent
comando:
getent group
Essa saída também mostrará quais contas de usuário são membros de quais grupos. Então, na imagem abaixo, podemos ver que as contas de usuário syslog e chris são membros do grupo adm.