Linux シェルスクリプト|シェルを実行したユーザとは別のユーザでパスワードを入力してコマンドを実行する方法|bash シェル


ここでは、シェルを実行して、その実行したシェル内で、シェルを実行したユーザとは別のユーザでパスワードを入力してコマンドを実行する方法を記載する。


コマンドとサンプルシェル

下記のコマンドを使用する。


・コマンド

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 件のコメント :

コメントを投稿