ここでは、シェルを実行して、その実行したシェル内で、シェルを実行したユーザとは別のユーザでパスワードを入力してコマンドを実行する方法を記載する。
コマンドとサンプルシェル
下記のコマンドを使用する。
・コマンド
echo "パスワード" | su - ユーザID -c "コマンド"
例えば、
下記の test1.sh では、シェル test1.sh をユーザ user1 で実行して、シェル内で別のユーザ user2 ( パスワード user2pass ) でコマンド「echo テスト」を実行できる。
test1.sh
#!/bin/bash echo "user2pass" | su - user2 -c "echo テスト"
下記のように、シェル test1.sh を実行したユーザとは別のユーザ users でシェル test2.sh を実行することもできる。
test1.sh
#!/bin/bash echo "user2pass" | su - user2 -c "./test2.sh"
ユーザ user2 に sudo を使用してパスワードなしでログインできるなどの場合は、下記のようにパスワードの入力を省略する。
test1.sh
#!/bin/bash sudo su - user2 -c "./test2.sh"
スポンサーリンク
0 件のコメント :
コメントを投稿