Troca de Usuário no Linux

LinuxBeginner
Pratique Agora

Introdução

Linux é um sistema operacional multiusuário onde múltiplos usuários podem trabalhar simultaneamente. Entender como navegar entre diferentes contas de usuário é uma habilidade fundamental para administradores de sistema e usuários Linux. Este laboratório apresenta a troca de usuários no Linux usando o comando su (substitute user).

Neste laboratório, você aprenderá como criar um novo usuário, alternar entre usuários, realizar operações como diferentes usuários e retornar à sua conta de usuário original. Essas habilidades são essenciais para tarefas de administração de sistema, práticas de segurança e compreensão das permissões de usuário em ambientes Linux.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 81%. Recebeu uma taxa de avaliações positivas de 94% dos estudantes.

Entendendo Usuários Linux e Criando um Novo Usuário

No Linux, cada usuário tem sua própria conta com permissões específicas e diretório home. Antes de podermos alternar entre usuários, precisamos criar uma segunda conta de usuário.

Criando um Novo Usuário

Vamos criar um novo usuário chamado apprentice usando o comando adduser. Este comando requer privilégios administrativos, então usaremos sudo para executá-lo com permissões elevadas:

sudo adduser apprentice

Quando você executar este comando, será solicitado que defina uma senha para o novo usuário e forneça algumas informações opcionais. Para este laboratório, vamos definir a senha como password123 e você pode pressionar Enter para pular os campos de informações opcionais:

Adding user `apprentice' ...
Adding new group `apprentice' (1001) ...
Adding new user `apprentice' (1001) with group `apprentice' ...
Creating home directory `/home/apprentice' ...
Copying files from `/etc/skel' ...
New password: password123
Retype new password: password123
passwd: password updated successfully
Changing the user information for apprentice
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

Concedendo Privilégios Sudo

Agora, vamos dar ao usuário apprentice privilégios sudo para que ele possa realizar tarefas administrativas:

sudo usermod -aG sudo apprentice

Este comando adiciona o usuário apprentice ao grupo sudo. Não haverá nenhuma saída se o comando for executado com sucesso.

Verificando a Existência do Usuário

Para verificar se nosso novo usuário foi criado com sucesso, podemos listar o conteúdo do diretório /home:

ls -l /home

Você deve ver um diretório para o usuário apprentice:

total 8
drwxr-xr-x 5 apprentice apprentice 4096 Oct 15 12:34 apprentice
drwxr-xr-x 5 labex      labex      4096 Oct 15 12:00 labex

Também podemos verificar a lista de usuários no sistema visualizando o arquivo /etc/passwd:

grep apprentice /etc/passwd

Isso deve mostrar informações sobre o usuário apprentice:

apprentice:x:1001:1001:,,,:/home/apprentice:/bin/bash

Alternando Usuários com o Comando su

Agora que criamos o usuário apprentice, vamos aprender como alternar para este usuário usando o comando su.

Entendendo o Comando su

O comando su (substitute user) permite que você alterne para outra conta de usuário durante uma sessão de login. Existem duas maneiras comuns de usar o comando su:

  1. su username - Alterna para o usuário especificado, mas mantém as variáveis de ambiente atuais
  2. su - username - Alterna para o usuário especificado e também carrega o ambiente desse usuário

Usar a segunda opção com o hífen (-) é geralmente preferível, pois fornece uma troca completa de ambiente, fazendo com que pareça que você está realmente logado como aquele usuário.

Alternando para o Usuário Apprentice

Vamos alternar para o usuário apprentice com uma troca completa de ambiente:

su - apprentice

Você será solicitado a inserir a senha do usuário apprentice. Digite a senha que você definiu durante a criação do usuário (password123):

Password: password123

Após a autenticação bem-sucedida, o seu prompt de comando mudará para indicar que você está agora logado como o usuário apprentice. O prompt pode ter uma aparência semelhante a esta:

apprentice@ubuntu:~$

Verificando a Troca de Usuário

Para confirmar que você está agora operando como o usuário apprentice, execute o comando whoami:

whoami

A saída deve ser:

apprentice

Você também pode verificar o diretório de trabalho atual com o comando pwd:

pwd

A saída deve mostrar que você está no diretório home do usuário apprentice:

/home/apprentice

Criando Arquivos como o Usuário Aprendiz

Agora que estamos logados como o usuário apprentice, vamos criar alguns arquivos para demonstrar que as ações realizadas nesta sessão são executadas com as permissões do usuário apprentice.

Criando um Diretório

Primeiro, vamos criar um diretório de projeto no diretório home do usuário apprentice:

mkdir -p ~/project

A flag -p garante que o comando não produza um erro se o diretório já existir. Não haverá nenhuma saída se o comando for executado com sucesso.

Criando um Arquivo de Texto

Agora, vamos criar um arquivo de texto no diretório do projeto:

echo "This is my first file as the apprentice user." > ~/project/apprentice-journal.txt

Não haverá nenhuma saída ao executar este comando, mas ele criará um arquivo com o conteúdo especificado.

Visualizando o Conteúdo do Arquivo

Vamos verificar o conteúdo do arquivo que acabamos de criar:

cat ~/project/apprentice-journal.txt

A saída deve ser:

This is my first file as the apprentice user.

Verificando a Propriedade do Arquivo

Também podemos verificar se o arquivo pertence ao usuário apprentice:

ls -l ~/project/apprentice-journal.txt

A saída deve ser semelhante a esta:

-rw-rw-r-- 1 apprentice apprentice 44 Oct 15 13:45 /home/apprentice/project/apprentice-journal.txt

Observe que tanto o usuário quanto o grupo proprietário do arquivo estão definidos como apprentice, confirmando que o arquivo foi criado com as permissões do usuário apprentice.

Retornando ao Seu Usuário Original

Após concluir as tarefas como o usuário apprentice, é hora de voltar para sua conta de usuário original. Esta é uma prática comum quando você precisa temporariamente realizar ações como outro usuário e, em seguida, retornar à sua conta principal.

Saindo da Sessão do Usuário Apprentice

Para retornar à sua sessão de usuário original, simplesmente digite exit ou pressione Ctrl+D:

exit

Você deve ver o prompt de comando mudar de volta para o seu prompt de usuário original, que pode ter uma aparência semelhante a:

labex@ubuntu:~/project$

Verificando a Troca de Usuário

Para confirmar que você voltou com sucesso para sua conta de usuário original, execute o comando whoami:

whoami

A saída deve ser:

labex

Acessando Arquivos Criados por Outros Usuários

Mesmo que você tenha voltado para seu usuário original, você ainda pode acessar arquivos criados pelo usuário apprentice se tiver as permissões apropriadas:

sudo cat /home/apprentice/project/apprentice-journal.txt

A saída deve mostrar o conteúdo do arquivo:

This is my first file as the apprentice user.

Comparando o Contexto do Usuário

Agora que você experimentou a troca entre usuários, vamos demonstrar a diferença no contexto do usuário verificando os caminhos do diretório home:

echo "My home directory is: $HOME"

A saída deve mostrar o diretório home do seu usuário original:

My home directory is: /home/labex

Se você voltasse para o usuário apprentice e executasse o mesmo comando, a saída seria diferente:

su - apprentice                    ## (Não execute isso agora, apenas para ilustração)
echo "My home directory is: $HOME" ## Mostraria: My home directory is: /home/apprentice

Isso demonstra como o comando su com a opção - troca completamente o ambiente do usuário, incluindo variáveis de ambiente como $HOME.

Resumo

Neste laboratório, você aprendeu habilidades essenciais de gerenciamento de usuários Linux:

  1. Criar uma nova conta de usuário com o comando adduser
  2. Conceder privilégios sudo a um usuário com o comando usermod
  3. Alternar entre usuários usando o comando su
  4. Criar arquivos como um usuário diferente
  5. Verificar o contexto do usuário com comandos como whoami e verificar variáveis de ambiente
  6. Voltar para seu usuário original com o comando exit

Essas habilidades são fundamentais para a administração de sistemas Linux e operações diárias em ambientes multiusuário. A troca de usuários permite que os administradores realizem tarefas com diferentes níveis de permissão e mantenham práticas de segurança adequadas, evitando o uso constante da conta root.

Compreender o gerenciamento de usuários no Linux ajuda você a:

  • Manter a segurança do sistema usando as permissões de usuário apropriadas
  • Solucionar problemas relacionados a permissões
  • Testar aplicativos e configurações de diferentes perspectivas de usuário
  • Gerenciar sistemas multiusuário de forma eficaz

À medida que você continua sua jornada no Linux, essas habilidades servirão como base para tarefas de administração de sistema mais avançadas.