O Linux é um sistema operacional multiusuário, e graças a isso várias pessoas podem estar autenticadas e trabalhando em uma determinada máquina ao mesmo tempo.

Para garantir a segurança, como boa prática usuários não compartilham as credenciais de uma mesma conta, sendo que cada pessoa terá seu próprio usuário de acesso. Isto significa que, as melhores práticas ditam o uso de tantas contas de usuário quantas pessoas precisem de acesso à máquina.

Mas é esperado que dois ou mais usuários precisem compartilhar o acesso a determinados recursos do sistema, como diretórios e arquivos. Sendo assim, é necessário saber como criar e gerenciar usuários e grupos no Linux, para atingir ambos os objetivos – maior segurança com contas individuais, e compartilhamento de recursos entre usuários.

Neste artigo você verá como gerenciar usuários e grupos em distribuições Linux baseadas em Debian, como Ubuntu e Mint, fazendo isso com comandos bash no console do terminal.

Adicionar novo grupo no Linux

Vamos iniciar adicionando um novo grupo no sistema.

A sintaxe padrão é

groupadd <nome-do-grupo>

Como exemplo vamos criar um grupo que depois usaremos para permitir acesso aos jogos instalados no sistema:

groupadd jogos

Adicionar um grupo existente a um usuário Linux

Após ter criado o grupo, ou mesmo para grupos que já existiam no sistema, você pode adicionar os usuários a ele.

É importante que você saiba: um usuário pode estar inserido em vários grupos em um mesmo sistema.

Utilizamos o comando usermod para adicionar um usuário a um grupo já existente, sua sintaxe é:

usermod -a -G <groupname> <username>

O parâmetro -a significa append, isto é, você está solicitando que seja adicionada a informação do grupo ao usuário, sem que os grupos já associados a ele sejam excluídos ou substituídos.

O parâmetro -G significa Lista de Grupos, isto é, permite que você passe uma lista separada por vírgula com o nome de grupos a serem adicionados ao usuário.

Continuando nosso exempo, vamos adicionar o grupo jogos ao usuário mazer:

usermod -a -G jogos mazer

Alterar o grupo primário de um usuário

Os usuários em Linux possuem um grupo primário e secundários.

O grupo primário é aquele registrado no arquivo /etc/passwd, configurado quando uma conta é criada. Quando um usuário cria um arquivo, seu grupo primário ou principal é associado ao arquivo.

Por exemplo, uma sequência de comandos para verificar meu usuário, ler sua entrada no /etc/passwd, que mostra o GUID do usuário, e então criar um novo arquivo vazio e listar o mesmo para demonstrar que o grupo principal (mostrado como nome e não o GUID) é associado como permissão ao arquivo:

$ whoami
mazer
$ grep mazer /etc/passwd
mazer:x:1066:1066:Ademir Mazer Junior:/home/mazer:/bin/bash
             ^
             |
             +-------- grupo principal

$ touch novoarquivo
$ ls -l novoarquivo
-rw-rw-r-- 1 mazer mazer 0 Jul 16 15:22 novoarquivo
                   ^
                   |
                   +-------- grupo principal

Muito bem, e se você deseja alterar o grupo principal de seu usuário? Deve utilizar o comando usermod novamente, com a sintaxe:

usermod -g <groupname> <username>

O parâmetro -g (minúsculo) significa id de grupo, isto é, você está indicando o grupo a ser definido como primário para o usuário.

Se quisermos alterar então o grupo primário de mazer para jogos:

usermod -g jogos mazer

Consultando os grupos de um usuário

Se desejamos verificar os grupos de um usuário sem os seus ids, usamos a sintaxe:

groups <username>

Por exemplo, para consultar o usuário mazer e seus grupos:

groups mazer
mazer : mazer adm cdrom sudo dip www-data plugdev lpadmin sambashare jogos

Se desejamos verificar os grupos juntamente com os ids, usamos o comando id:

id <username>

Exemplo para nosso usuário mazer, que mostre os nomes de seus grupos e os repectivos ids:

id mazer
uid=1000(mazer) gid=1000(mazer) grupos=1000(mazer),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),108(lpadmin),110(sambashare)

Adicionar um novo usuário e definir grupos para ele em um comando

Por fim, se você deseja adicionar um novo usuário ao sistema Linux, e em uma única linha de comando atribuir um grupo, podemos usar a sintaxe:

useradd -g <groupname> username

Um exemplo seria adicionar o usuário marcos ao grupo ftp e na sequência definir sua senha:

useradd -G ftp marcos
passwd marcos

Gerenciar grupos e usuários em Linux é uma tarefa corriqueira para administradores de sistema, e eventualmente necessária para usuários mais avançados.

Apesar de existirem mais situações e comandos disponíveis, estes que apresentei neste artigo devem cobrir o uso mais comum de gerenciamento de grupos em Linux por linha de comando no console do terminal.

Caso precise de uma explicação para um contexto diferente, deixa um comentário para eu complementar o artigo.


Mantenha-se atualizado

Não esqueça de me seguir no Twitter e assinar o Canal Mazer.dev no Youtube para receber atualizações de novos artigos, vídeo aulas e cursos gratuitos em desenvolvimento e engenharia de software.

Para saber mais sobre Linux e Bash

Como liberar espaço no disco rígido do Linux Ubuntu, Mint, Debian
Está ficando sem espaço em seu sistema Linux? Aqui estão várias maneiras de limpar seu sistema para liberar espaço no Ubuntu e outras distribuições Linux baseadas no Debian como Mint. Com o tempo, o disco rígido de qualquer sistema operacional pode ficar desorganizado à medida que programas são adicionados e …
Conky no Linux – monitor de sistema leve para seu desktop
Se você, como eu, gosta de ter algumas informações a respeito de meu sistema disponíveis rapidamente na tela, conheça o Conky, um monitor leve para desktop Linux. Sempre procurando pelos famosos gadgets e widgets, me deparei com o projeto Screenlets, de uso comum pelos usuários do Gnome. Porém, após utilizá-lo …
Cinnamon usando muitos recursos no Linux Mint
Cinnamon é um gerenciador de janelas, gerenciador de área de trabalho gratuito e de código aberto para o X Window System que deriva do GNOME 3. Muito eficiente mas pode acontecer do Cinnamon usar muitos recursos computacionais eventualmente. Ele é o principal ambiente de área de trabalho da distribuição Linux …
Como instalar fontes no Linux Debian, Ubuntu ou Mint de forma fácil
Esta é uma dica rápida para instalar facilmente fontes no Linux baseados em Debian, como Ubuntu ou Mint. Além da boa prática de instalar as True Type fonts compatíveis com Windows, existe também a possibilidade de instalação por um arquivo baixado (download) em sua máquina. Neste artigo você aprende a fazer a …
Razões do porque aprender Bash / Shell (linha de comando)
Bash é uma linguagem de linha de comando (sabe aquela tela preta) para sistemas operacionais baseados em Unix, como o Linux. Ela permite que você controle seu computador utilizando comandos programáveis. Sendo você um desenvolvedor de softwares ou administrador de sistemas, existem diversas razões do porque aprender Bash ou Shell …
Criando alias bash, apelidos, de linha comando permanentes no Linux
Os apelidos de comando Bash – alias, são muito úteis para condensar em um único comando chamadas complexas, cheias de parâmetros, que você realiza repetidamente no dia-a-dia em seu terminal Linux Debian, Mint, Ubuntu, ou qualquer outra distro. Porém, a cada vez que o terminal é encerrado, os apelidos são …

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *