Verificando permissões atuais: comandos whoami
, id
1. Quem sou no sistema? Comando whoami
Todo usuário do Linux opera com uma conta específica que possui suas próprias permissões, limitações e associação a grupos. Nesta palestra, você vai aprender a verificar com qual conta de usuário está trabalhando, quais são suas permissões e a quais grupos pertence. Conhecer os parâmetros atuais do usuário é importante tanto no trabalho do dia a dia quanto na solução de questões de segurança, administração e depuração.
Quando você trabalha em um sistema Linux, é útil saber com qual conta de usuário você está operando no momento. Por exemplo, se você acidentalmente estiver no sistema como um usuário privilegiado (root), pode fazer alterações irreversíveis nos arquivos do sistema. Para evitar estas situações, existe o comando whoami
.
Sintaxe
whoami
O que o comando faz?
O comando whoami
exibe o nome do usuário atual que está trabalhando no sistema. Ele responde à pergunta essencial: "Quem sou eu?"
Exemplo
$ whoami
student
Neste caso, a saída student
significa que você está logado no sistema como o usuário chamado student
. Se você estivesse operando como um usuário com permissões elevadas (por exemplo, root
), a saída seria a seguinte:
$ whoami
root
Por que isso é importante?
Imagine que você utiliza um comando para deletar todos os arquivos de um diretório (por exemplo, rm -rf /important_directory
). Como um usuário comum, o sistema pode te restringir se você não tiver as permissões adequadas. Mas, como usuário root
, ele executará seu comando sem hesitar. O comando whoami
ajuda você a evitar essas situações desagradáveis.
2. Estudo detalhado de informações do usuário: comando id
Saber o nome do seu usuário é bom, mas isso não é suficiente pra entender profundamente suas permissões e privilégios no sistema. Pra ter mais informações detalhadas, existe o comando id
.
Sintaxe
id [usuário]
Se o nome do usuário não for especificado, o comando id
vai mostrar informações sobre o usuário atual. Se você especificar o nome de outro usuário, vai poder verificar os detalhes da conta dele.
O que o comando id
exibe?
- UID (User ID) — identificador único do usuário.
- GID (Group ID) — identificador único do grupo principal do usuário.
- Lista de grupos — todos os grupos aos quais o usuário pertence (incluindo o principal).
Exemplo
$ id
uid=1001(student) gid=1001(student) grupos=1001(student),27(sudo),1002(developers)
- UID=1001: Este é o identificador único do usuário atual (student). Nos sistemas Linux, o UID do usuário
root
é sempre 0. - GID=1001: Este é o identificador do grupo principal do usuário (student).
- Grupos=1001(student), 27(sudo), 1002(developers): Aqui estão listados os grupos adicionais aos quais o usuário pertence. Por exemplo, o grupo
sudo
permite que o estudante execute comandos como usuário privilegiado.
Se a gente rodar o comando pra outro usuário:
$ id user2
uid=1002(user2) gid=1002(user2) grupos=1002(user2),1001(developers)
Dá pra ver que o usuário user2
pertence ao grupo developers
.
3. Uso de UID e GID no trabalho real
Cada usuário e grupo recebe seus próprios identificadores numéricos (UID e GID, respectivamente). Eles desempenham um papel super importante dentro do sistema, muitas vezes substituindo os nomes de usuários e grupos em formato de texto. Por que isso é necessário?
- Alguns processos do sistema trabalham diretamente com identificadores numéricos para ter mais eficiência.
- As permissões de acesso para arquivos e pastas não são definidas pelos nomes dos usuários ou grupos, mas pelos seus UID e GID.
- Nos arquivos de configuração e nos logs (por exemplo,
/etc/passwd
), você pode encontrar UIDs no lugar de nomes de usuários.
4. Explorando grupos com groups
Além disso, você pode usar o comando groups
para descobrir a quais grupos o usuário atual pertence.
Sintaxe
groups [usuário]
Se você não especificar o nome do usuário, vai receber a lista de grupos para a conta atual. Se especificar o nome, verá os grupos do usuário indicado.
Exemplo:
$ groups
student developers sudo
$ groups user2
user2 developers
5. Trabalhando com comandos
E agora, bora praticar um pouco pra fixar o que aprendemos.
Verificando a conta de usuário atual
- Abre o terminal.
Executa o comando:
whoami
Confira o nome do seu usuário.
- Roda o comando
sudo su
(vão pedir tua senha), e depois executa de novo owhoami
pra ver como você está logado.
Explorando informações do usuário
Executa o comando:
Dá uma olhada no UID, GID e os grupos aos quais teu usuário pertence.id
Cria um novo usuário (se você tiver acesso ao comando
sudo
):sudo adduser testuser
Depois executa:
id testuser
Analisando a associação de grupos
Executa:
groups
Olha a quais grupos teu usuário pertence.
Adiciona o usuário atual a um novo grupo:
sudo groupadd testgroup sudo usermod -aG testgroup $(whoami)
Confere o resultado:
groups
6. Erros típicos e momentos pegadinhas
Muitos novatos confundem
whoami
eid
. Lembre-se:whoami
mostra apenas o nome do usuário atual, enquantoid
fornece informações mais detalhadas sobre os direitos e grupos.Se você não tiver privilégios de administrador (acesso ao
sudo
), pode não ter a capacidade de adicionar usuários a grupos ou alterar seus parâmetros. Nessas situações, vale chamar o administrador do sistema.O comando
id
com um usuário inexistente resultará em erro:$ id nonexistinguser id: ‘nonexistinguser’: no such user
Agora você já sabe como verificar qual usuário está ativo no momento, com quais direitos e acessos ele está trabalhando. Os comandos whoami
e id
parecem simples, mas desempenham um papel fundamental no entendimento do sistema de usuários e direitos de acesso no Linux. No trabalho real, você vai usá-los frequentemente para diagnóstico de problemas, verificação de direitos e configuração de usuários.
GO TO FULL VERSION