私の要件は、パスワード認証を必要とする別のユーザーとしてログインし、ユーザーアカウントで実行するシェルスクリプトからそのユーザーとしていくつかのコマンドを実行することです。
例: user1 がスクリプトを実行しています。要件は、パスワードを使用してuser2としてログインし、単一のシェルスクリプトを使用して一連のコマンドを実行することです。
ベストアンサー1
これを使用する方法はいくつかあります。
- 使用
su
。 suを使用すると、次のコマンドを実行できます。
su user -c "command"
または
su - user -c "command"
違いは、ダッシュがあればターゲットユーザーの環境を取得できることです。このコマンドを使用すると、ターゲットユーザーのパスワードを入力するように求められます。
- 使用
sudo
:
sudo -u user "command"
このコマンドを使用すると、パスワード(あなたのパスワード)を有効または無効にすることができます。
- 使用
ssh
:
SSHを使用すると、ユーザーパスワード、キーパスワード(使用可能な場合)を使用してコマンドを実行できます。
ssh user@localhost "command"
PS:他の可能な方法もありますが、rshのようにほとんど不可能です。