別のユーザーとしてログインし、シェルスクリプトで一連のコマンドを実行するには?

別のユーザーとしてログインし、シェルスクリプトで一連のコマンドを実行するには?

私の要件は、パスワード認証を必要とする別のユーザーとしてログインし、ユーザーアカウントで実行するシェルスクリプトからそのユーザーとしていくつかのコマンドを実行することです。

例: user1 がスクリプトを実行しています。要件は、パスワードを使用してuser2としてログインし、単一のシェルスクリプトを使用して一連のコマンドを実行することです。

ベストアンサー1

これを使用する方法はいくつかあります。

  1. 使用su。 suを使用すると、次のコマンドを実行できます。

su user -c "command"

または

su - user -c "command"

違いは、ダッシュがあればターゲットユーザーの環境を取得できることです。このコマンドを使用すると、ターゲットユーザーのパスワードを入力するように求められます。

  1. 使用sudo:

sudo -u user "command"

このコマンドを使用すると、パスワード(あなたのパスワード)を有効または無効にすることができます。

  1. 使用ssh:

SSHを使用すると、ユーザーパスワード、キーパスワード(使用可能な場合)を使用してコマンドを実行できます。

ssh user@localhost "command"

PS:他の可能な方法もありますが、rshのようにほとんど不可能です。

おすすめ記事