Linuxでユーザーとsuについて混乱

Linuxでユーザーとsuについて混乱

特定のユーザー(root以外のユーザー)でスクリプトを実行するにはどうすればよいですか?それはすべてですか?

sudo su - john /usr/share/script.pl ユーザージョンに?

答え1

-cに渡してsuコマンドを実行できます。次のコマンドを実行できる場合はsudo機能します。

sudo su - john -c "/usr/share/script.pl"

-渡される環境はsuログイン時と同じであるため、スクリプトが環境変数(現在のパスなど)によって異なる場合は、調整する必要があります。

答え2

他の回答はあなたの特定の質問によく答えることができます。ここにいくつかの有用な説明があります。

su=ユーザー切り替え

sudo=ユーザーを切り替えてXを実行します(追加オプションなし、「ユーザー」は「ルート」です)

ほとんどのユーザーにはsu使用しないと許可されませんsudo。つまり、通常、パスワードを再入力するように求める前に、ユーザーが2回考えるようにします。

答え3

たとえば、-c オプションを使用します。

sudo su - john -c "/usr/share/script.pl"

または、上記のようにユーザーを定義する代わりに、次のコマンドを使用して特定のユーザーのcronジョブを定義できます。

crontab -u john -e

その後、cronを設定したら、特定のユーザーのcronジョブを追加し、root cronでユーザーを定義することをお勧めします。

関連情報