Como garantir que o su sempre peça a senha
Quando você usa o comando su sem o - (ou su - nome_usuario), ele não exige a senha do usuário de destino se você já estiver logado como root.
Porém, se você quiser forçar a exigência da senha do usuário a cada vez que usar su, aqui está o que você pode fazer:
- Comando su com senha do novo usuário
Por padrão, quando você usa o comando su - nome_usuario, o sistema vai pedir a senha do usuário destino apenas se você não for o root.
Ou seja, se você estiver logado como root, você não precisa da senha do usuário para fazer a troca.
Se você estiver como root e usar o comando su - nome_usuario, o sistema não pedirá a senha do nome_usuario porque o root tem permissões para trocar diretamente.
Se você não for root e usar su - nome_usuario, o sistema pedirá a senha do nome_usuario para completar a troca. - Como forçar o pedido de senha sempre?
Para garantir que o sistema sempre peça a senha ao trocar de usuário com su, você pode alterar a configuração do su ou até usar o sudo para um controle mais fino.
Aqui estão algumas opções:
Em vez de usar o su diretamente, você pode configurar o sudo para sempre pedir a senha do novo usuário.
- Instale o sudo (caso ainda não tenha):
- Em sistemas baseados no Ubuntu/Debian: sudo apt install sudo
- Em sistemas baseados no RHEL/CentOS: sudo yum install sudo
Configure o sudo para pedir senha sempre: - No arquivo de configuração do sudo, /etc/sudoers, você pode especificar que o sudo deve sempre pedir a senha.
Para editar o arquivo de configuração do sudo de maneira segura:
sudo visudo
E adicione ou modifique a seguinte linha para garantir que o sudo peça a senha sempre:
Defaults env_reset,pwfeedback
Isso vai garantir que a senha seja pedida sempre ao rodar um comando com sudo.
Usando sudo para trocar de usuário:
Para trocar de usuário usando sudo, você usaria:
sudo su - nome_usuario
Isso fará com que o sistema sempre peça a senha do usuário atual (que é o que você quer).
Após isso, a troca de usuário ocorre normalmente, mas ao sair da sessão, você retorna para o usuário atual.
Se você insiste em usar su, uma opção seria configurar o sistema para não permitir o su sem senha quando você estiver como root.
Isso pode ser feito no arquivo /etc/pam.d/su.
Edite o arquivo /etc/pam.d/su:
Abra o arquivo de configuração do PAM (Pluggable Authentication Modules) para o su:
sudo nano /etc/pam.d/su
Habilite a exigência de senha no su:
Certifique-se de que a seguinte linha está descomentada ou adicionada:
auth required pam_wheel.so use_uid
Isso força o sistema a pedir senha de todos os usuários ao tentar usar o su.
Adicione os usuários ao grupo wheel:
Para usuários não-root, você pode garantir que eles precisem de senha ao usar su com a configuração do grupo wheel.
Se você quiser que apenas membros do grupo wheel possam usar o su, adicione o usuário a esse grupo com o comando:
sudo usermod -aG wheel nome_usuario
Configure o arquivo /etc/sudoers:
Se você quiser que apenas usuários do grupo wheel possam usar sudo ou su, você pode configurar o arquivo /etc/sudoers:
sudo visudo
E adicione a seguinte linha para dar permissões de sudo apenas ao grupo wheel:
%wheel ALL=(ALL) ALL
Com esses ajustes, sempre que você tentar trocar de usuário, o sistema pedirá a senha, e isso irá evitar que você volte automaticamente ao usuário anterior quando usar o comando exit.
Isso garante mais segurança no processo de troca de usuários!
Qualquer duvida comente ai.
Bons estudos.