3 maneiras de mudar o shell padrão de um usuário no Linux

3 maneiras de mudar o shell padrão de um usuário no Linux

Neste artigo, descreveremos como alterar o shell de um usuário no Linux. O shell é um programa que aceita e interpreta comandos; Existem várias conchas como Bash, SH, KSH, ZSH, Fish e muitas outras conchas menos conhecidas disponíveis no Linux.

Bash (/BIN/BASH) é um shell popular na maioria dos sistemas Linux, e normalmente é o shell padrão para contas de usuário.

Leia também: 5 mais frequentemente usados ​​conchas de código aberto para Linux

Existem várias razões para alterar o shell de um usuário no Linux, incluindo o seguinte:

  1. Para bloquear ou desativar os logins normais de usuários no Linux usando um shell nologin.
  2. Use um script ou programa de invólucro de shell para registrar os comandos do usuário antes de serem enviados para um shell para execução. Aqui, você especifica o invólucro do shell como um shell de login do usuário.
  3. Para atender às demandas de um usuário (quer usar um shell específico), especialmente aqueles com direitos administrativos.

Ao criar contas de usuário com os utilitários do userAdd ou adduser, o --concha O sinalizador pode ser usado para especificar o nome do shell de login de um usuário, exceto o especificado nos respectivos arquivos de configuração.

Um shell de login pode ser acessado a partir de uma interface baseada em texto ou através de uma máquina SSH de Linux remota. No entanto, se você login através de uma interface gráfica do usuário (GUI), poderá acessar o shell de um emuladores de terminal como Xterm, Konsole e muitos mais.

Vamos primeiro listar todas as conchas disponíveis no seu sistema Linux, digite.

# gato /etc /conchas /bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/traço 

Antes de prosseguir, observe que:

  • Um usuário pode alterar seu próprio shell para qualquer coisa: que, no entanto, deve ser listado no /etc/conchas arquivo.
  • Somente root pode executar um shell não listado em /etc/conchas arquivo.
  • Se uma conta tiver um shell de login restrito, apenas a raiz poderá alterar o shell desse usuário.

Agora vamos discutir três maneiras diferentes de mudar o shell do usuário do Linux.

1. Usermod Utility

UserMod é um utilitário para modificar os detalhes da conta de um usuário, armazenados no /etc/passwd arquivo e o -s ou --concha A opção é usada para alterar o shell de login do usuário.

Neste exemplo, primeiro verificaremos as informações da conta do usuário Tecmint para visualizar seu shell de login padrão e depois alterar seu shell de login de /bin/sh para /BIN/BASH do seguinte modo.

# grep tecmint /etc /passwd # UserMod -Shell /Bin /Bash Tecmint # grep tecmint /etc /passwd 
Alterar o shell do usuário usando UserMod

2. utilitário chsh

chsh é um utilitário de linha de comando para alterar um shell de login com o -s ou -concha opção como esta.

# grep tecmint /etc /passwd # chsh -shell /bin /sh tecmint # grep tecmint /etc /passwd 
Alterar o shell do usuário usando o CHSH

Os dois métodos acima de tudo modificam o shell especificado em /etc/passwd Arquivo que você pode editar manualmente como no terceiro método abaixo.

3. Alterar o shell do usuário no arquivo /etc /passwd

Neste método, basta abrir o /etc/passwd Arquivo usando qualquer um dos seus editores de texto de linha de comando favoritos e altere um shell de usuários específicos.

# vi /etc /passwd 
Alterar shell do usuário no arquivo passwd

Quando você terminar de editar, salve e feche o arquivo.

Não se esqueça de ler estes tópicos relacionados:

  1. Entendendo os arquivos de inicialização do shell e perfis de usuário no Linux
  2. Entenda as dicas de shell linux e shell shell - Parte I
  3. Como escrever e usar funções e bibliotecas de shell personalizadas
  4. Compreendendo diferentes classificações dos comandos do shell e seu uso

Neste artigo, descrevemos várias maneiras de mudar o shell de um usuário no Linux. Para compartilhar qualquer pensamento conosco, use a seção de comentários abaixo.