CodeGym /Cursos /Docker SELF /Verificando permissões atuais: comandos `whoami`, `id`

Verificando permissões atuais: comandos `whoami`, `id`

Docker SELF
Nível 2 , Lição 3
Disponível

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?

  1. UID (User ID) — identificador único do usuário.
  2. GID (Group ID) — identificador único do grupo principal do usuário.
  3. 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

  1. Abre o terminal.
  2. Executa o comando:

    whoami
    

    Confira o nome do seu usuário.

  3. Roda o comando sudo su (vão pedir tua senha), e depois executa de novo o whoami pra ver como você está logado.

Explorando informações do usuário

  1. Executa o comando:

    id
    
    Dá uma olhada no UID, GID e os grupos aos quais teu usuário pertence.
  2. 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

  1. Executa:

    groups
    

    Olha a quais grupos teu usuário pertence.

  2. 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

  1. Muitos novatos confundem whoami e id. Lembre-se: whoami mostra apenas o nome do usuário atual, enquanto id fornece informações mais detalhadas sobre os direitos e grupos.

  2. 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.

  3. 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.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION