Bash でユーザーを完全に切り替える (GNOME/キーリングの問題)

Bash でユーザーを完全に切り替える (GNOME/キーリングの問題)

ターミナルで「user1」としてコマンドを実行することと、「sudo -Hiu user1 [command]」としてコマンドを実行することの違いがわかりません。

を実行すると /home/user1/script.sh 、スクリプトは GNOME/Keyring にアクセスするプログラムを正常に呼び出し、プログラムは問題なくパスワードを取得します。

ただし、 を実行するとsudo -Hiu user1 /home/user1/script.sh、スクリプトが呼び出すプログラムは GNOME/Keyring に正常にアクセスできません。

user1 としてコマンドを実行することと実行することの違いは何ですかsudo -Hiu user1 [command]? また、bash でユーザーを root から user1 に完全に変更するにはどうすればよいですか?

答え1

sudo -Hiu user1 [command]実行と として[command]実行user1(または 実行)の間には本質的に違いはありませんが、微妙な違いがいくつかあります(質問で言及されているように)。これらのほとんどは GNOME に関連しており、コマンド(または新しいシステムではまたはを使用)sudo [command]を使用することで回避できます。gksudoadmin:///full/path/to/command argumentspkexec [command] arguments

su user1root として (またはパスワードがわかっている場合は他のユーザーとして) を使用して、シェルを実行できますuser1

関連情報