![Trocando totalmente de usuário no Bash (problemas do GNOME/Keyring)](https://rvso.com/image/154456/Trocando%20totalmente%20de%20usu%C3%A1rio%20no%20Bash%20(problemas%20do%20GNOME%2FKeyring).png)
Estou confuso sobre a diferença entre executar um comando como "user1" em um terminal e executar um comando como "sudo -Hiu user1 [comando]".
Se eu executar
/home/user1/script.sh
, o script chama com êxito um programa que acessa o GNOME/Keyring e o programa obtém a senha sem problemas.
No entanto, se eu executar sudo -Hiu user1 /home/user1/script.sh
, o programa que o script chama não consegue acessar o GNOME/Keyring com êxito.
Qual é a diferença entre executar comandos como usuário1 e executar sudo -Hiu user1 [command]
e como posso alterar completamente os usuários de, por exemplo, root para usuário1 no bash?
Responder1
Essencialmente, não há diferença entre correr sudo -Hiu user1 [command]
e correr [command]
como user1
(ou mesmo correr sudo [command]
), embora existam algumas diferenças sutis (como mencionado na sua pergunta). A maioria deles está relacionada ao GNOME, que pode ser contornada usando o gksudo
comando (ou em sistemas mais recentes, usando admin:///full/path/to/command arguments
ou pkexec [command] arguments
).
Você pode usar su user1
como root (ou como qualquer outro usuário se souber a senha) para executar um shell como user1
.