Trocando totalmente de usuário no Bash (problemas do GNOME/Keyring)

Trocando totalmente de usuário no Bash (problemas do GNOME/Keyring)

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 gksudocomando (ou em sistemas mais recentes, usando admin:///full/path/to/command argumentsou pkexec [command] arguments).

Você pode usar su user1como root (ou como qualquer outro usuário se souber a senha) para executar um shell como user1.

informação relacionada