Como alternar (su) para outra conta de usuário sem senha
- 2085
- 151
- Spencer Emard
Neste guia, mostraremos como mudar para outro ou uma conta de usuário específica sem exigir uma senha. Por exemplo, temos uma conta de usuário chamada PostGres (o padrão PostGresql conta do sistema superusuário), queremos todos os usuários (normalmente nosso PostGresql Banco de dados e administradores de sistema) no grupo chamado PostGres para mudar para o PostGres conta usando o su
comando sem inserir uma senha.
Por padrão, apenas o usuário root pode mudar para outra conta de usuário sem inserir uma senha. Qualquer outro usuário será solicitado a inserir a senha da conta de usuário para a qual está mudando (ou se estiver usando o comando sudo, eles serão solicitados a inserir sua senha), se não fornecer a senha correta, eles receberão um "Autenticação falhou”Erro como mostrado na captura de tela a seguir.
Erro de falha de autenticação do usuárioVocê pode usar qualquer uma das duas soluções fornecidas abaixo para resolver o problema acima.
1. Usando o módulo de autenticação PAM
Pam (Módulos de autenticação traváveis) estão no centro da autenticação do usuário em sistemas operacionais modernos do Linux. Para permitir que os usuários em um grupo específico mudem para outra conta de usuário sem uma senha, podemos modificar as configurações de PAM padrão para o comando su no /etc/pam.d/su arquivo.
# vim /etc /pam.d/su ou $ sudo vim/etc/pam.d/su
Adicione as seguintes configurações depois “Auth Pam_rootok suficiente.então”Como mostrado na captura de tela seguinte.
auth [success = ignore padrão = 1] pam_succeced_if.Então User = PostGres auth Auth PAM_SUCECED_IF.então use_uid User ingroup Postgres
Na configuração acima, a primeira linha verifica se o usuário alvo está PostGres, se for, o serviço verifica o usuário atual, caso contrário, o padrão = 1
A linha é ignorada e as etapas normais de autenticação são executadas.
auth [success = ignore padrão = 1] pam_succeced_if.Então User = PostGres
A linha que segue verifica se o usuário atual está no grupo PostGres, se sim
, O processo de autenticação é considerado bem -sucedido e retorna suficiente como resultado. Caso contrário, as etapas normais de autenticação são executadas.
AUTH PAM_SUCECED_IF suficientes suficientes.então use_uid User ingroup PostgresConfigure o PAM para permitir a execução do comando SU sem senha
Salve o arquivo e feche-o.
Em seguida, adicione o usuário (por exemplo Aaronk) que você quer su
para a conta PostGres sem uma senha para o grupo PostGres usando o comando userMod.
$ sudo userMod -AG Postgres Aaronk
Agora tente su
para o PostGres conta como usuário Aaronk, Você não deve ser solicitado a uma senha, como mostrado na captura de tela a seguir:
$ su - postgresAdicionar usuário ao grupo
2. Usando o arquivo sudoers
Você também pode su
Para outro usuário sem exigir uma senha fazendo algumas alterações no arquivo sudoers. Nesse caso, o usuário (por exemplo Aaronk) quem mudará para outra conta de usuário (por exemplo PostGres) deve estar no arquivo sudoers ou no grupo sudo para poder invocar o Comando sudo.
$ sudo visudo
Em seguida, adicione a seguinte configuração abaixo da linha “%Sudo all = (tudo: tudo) tudo”
como mostrado na captura de tela a seguir.
aaronk all = nopoasswd: /bin /su - pós -gresAdicione o arquivo do usuário aos sudoers
Salve e feche o arquivo.
Agora tente su
para a conta PostGres como o usuário Aaronk, O shell não deve solicitar que você insira uma senha:
$ sudo su - postgresMude para outro usuário sem senha
É tudo por agora! Para mais informações, consulte a página de entrada manual do PAM (Homem Pam.conf) e o de Comando sudo também (Homem sudo).
$ MAN PAM.conf $ homem sudoLeitura relacionada: 10 configurações úteis de sudoers para definir 'sudo' no Linux
- « Configurar o login SSH sem senha para vários servidores remotos usando o script
- Como instalar o PostgreSQL e Pgadmin no Rhel 8 »