![Bash でユーザーを完全に切り替える (GNOME/キーリングの問題)](https://rvso.com/image/154456/Bash%20%E3%81%A7%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92%E5%AE%8C%E5%85%A8%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8B%20(GNOME%2F%E3%82%AD%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E5%95%8F%E9%A1%8C).png)
ターミナルで「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]
を使用することで回避できます。gksudo
admin:///full/path/to/command arguments
pkexec [command] arguments
su user1
root として (またはパスワードがわかっている場合は他のユーザーとして) を使用して、シェルを実行できますuser1
。