Introdução
Neste laboratório, você aprenderá como verificar o shell padrão para um usuário específico no Linux. O shell é o interpretador de linha de comando que processa seus comandos, e diferentes usuários podem ter diferentes shells padrão.
Você explorará o arquivo /etc/passwd para identificar o shell padrão de um usuário, entenderá como listar os shells disponíveis no sistema usando o comando chsh -l, e verificará as informações do shell de um usuário usando o comando getent passwd. Este laboratório fornece conhecimento fundamental para entender as configurações de usuário no Linux.
Verificar o shell do usuário com cat /etc/passwd
Nesta etapa, você aprenderá como verificar o shell padrão para um usuário no Linux. O shell é o interpretador de linha de comando que processa seus comandos. Diferentes usuários podem ter diferentes shells padrão.
O arquivo /etc/passwd contém informações sobre todos os usuários no sistema. Cada linha neste arquivo representa um usuário e é estruturada com campos separados por dois pontos (:). O último campo em cada linha especifica o shell padrão do usuário.
Podemos usar o comando cat para exibir o conteúdo do arquivo /etc/passwd.
Abra seu terminal, se ele ainda não estiver aberto. Lembre-se, você pode encontrar o ícone do Xfce Terminal no lado esquerdo da sua área de trabalho.
Agora, digite o seguinte comando e pressione Enter:
cat /etc/passwd
Este comando imprimirá todo o conteúdo do arquivo /etc/passwd no seu terminal. Você verá muitas linhas, cada uma correspondendo a uma conta de usuário no sistema.
Procure a linha que começa com labex:. Esta é a entrada para seu usuário atual. A linha terá uma aparência semelhante a esta (as partes podem variar):
labex:x:5000:5000:LabEx user,,,:/home/labex:/usr/bin/zsh
Os campos são:
- Nome de usuário (Username):
labex - Espaço reservado para senha (Password placeholder):
x(o hash da senha real é armazenado em outro lugar por segurança) - ID do usuário (UID):
5000 - ID do grupo (GID):
5000 - Informações do usuário (GECOS):
LabEx user,,, - Diretório home (Home Directory):
/home/labex - Shell padrão (Default Shell):
/usr/bin/zsh
Neste caso, o shell padrão para o usuário labex é /usr/bin/zsh. Isso confirma que o terminal que você está usando atualmente é de fato zsh.
Entender o arquivo /etc/passwd é fundamental para a administração de sistemas Linux. Ele fornece uma maneira rápida de obter informações básicas sobre os usuários, incluindo seu shell padrão e diretório home.
Clique em Continuar para prosseguir para a próxima etapa.
Listar shells disponíveis com chsh -l
Na etapa anterior, você viu que seu shell padrão é /usr/bin/zsh. Mas quais outros shells estão disponíveis neste sistema?
Sistemas Linux frequentemente têm múltiplos shells instalados. Você pode listar os shells disponíveis usando o comando chsh com a opção -l.
O comando chsh é tipicamente usado para alterar o shell de login de um usuário, mas a opção -l permite que você liste os shells que estão listados no arquivo /etc/shells. Este arquivo contém uma lista de shells de login válidos no sistema.
No seu terminal, digite o seguinte comando e pressione Enter:
chsh -l
Este comando exibirá uma lista de caminhos, cada um representando um shell disponível no sistema. A saída terá uma aparência semelhante a esta:
/bin/sh
/bin/bash
/usr/bin/rc
/usr/bin/rbash
/usr/bin/nologin
/bin/false
/usr/bin/zsh
/usr/bin/ksh
/usr/bin/dash
Você pode ver /usr/bin/zsh nesta lista, confirmando que é um shell válido neste sistema. Você também pode ver outros shells comuns como /bin/bash (Bourne Again SHell) e /bin/sh (Bourne SHell).
Entender quais shells estão disponíveis é útil se você precisar alterar seu shell padrão ou se encontrar scripts escritos para um shell específico.
Clique em Continuar para prosseguir para a próxima etapa.
Verificar shell com getent passwd
Nas etapas anteriores, você aprendeu como visualizar o arquivo /etc/passwd diretamente e listar os shells disponíveis. Agora, vamos usar outro comando, getent, para recuperar informações do usuário, incluindo o shell.
O comando getent é um utilitário que obtém entradas de bancos de dados do Name Service Switch (NSS), que podem incluir /etc/passwd, /etc/group e outros. É uma maneira mais padronizada de recuperar informações do usuário em comparação com a leitura direta de /etc/passwd, pois também pode consultar bancos de dados de usuários baseados em rede.
Para obter a entrada para o usuário labex do banco de dados passwd, digite o seguinte comando no seu terminal e pressione Enter:
getent passwd labex
Este comando solicita especificamente a entrada para o usuário labex do banco de dados passwd. A saída será semelhante à linha que você viu ao usar cat /etc/passwd:
labex:x:5000:5000:LabEx user,,,:/home/labex:/usr/bin/zsh
Novamente, o último campo /usr/bin/zsh confirma o shell padrão para o usuário labex.
Usar getent é frequentemente preferível em scripts ou para consultar sistemas que podem usar sistemas de autenticação centralizados (como LDAP) em vez de apenas arquivos locais. Para verificações simples em um sistema local, tanto cat /etc/passwd quanto getent passwd <username> funcionam.
Você agora usou com sucesso três métodos diferentes para entender os shells de usuário no Linux: visualizando diretamente /etc/passwd, listando os shells disponíveis com chsh -l e consultando informações do usuário com getent.
Clique em Continuar para concluir este laboratório.
Resumo
Neste laboratório, você aprendeu como verificar o shell padrão de um usuário no Linux. Você usou o comando cat /etc/passwd para exibir informações do usuário, focando especificamente no último campo de cada linha, que indica o shell padrão. Este método fornece uma maneira direta de identificar o shell configurado para qualquer usuário no sistema, examinando a estrutura do arquivo /etc/passwd.



