他のユーザーとしてスクリプトを実行する

他のユーザーとしてスクリプトを実行する

他のユーザーでサービスを終了しようとしました。 「usernoroot」ユーザーとしてログインし、rootユーザー「userroot」のサービスを終了しました!

したがって、 "usernoroot"フォルダには、次のようにkillscript.shがあります。

#!/bin/sh
kill -9 $1

そしてスクリプトを実行可能にします。

chown root:root /home/usernoroot/killscript.sh
chmod 755 /home/usernoroot/killscript.sh

これで実行しようとしました./killscript.sh <pid>が、次のようになります。

./killscript.sh: 2: kill: Operation not permitted

このスクリプトを正常に実行するにはどうすればよいですか?

編集する

sudoをインストールしました。

apt-get install sudo

私のユーザーをsudoグループに追加する

adduser usernoroot sudo

そしてsudoersに "killscript.sh"スクリプトを追加してください。

nano /etc/sudoers
usernoroot ALL=(ALL) NOPASSWD: /home/usernoroot/killscript.sh

./killscript.sh 222これで、PWなしでID 222を終了するプロセスを実行できるようになりました。

ベストアンサー1

まず、スクリプトを実行する理由usernorootは、自分ではなくプロセスを終了するための正しい侵入権限がないためです。したがって、システムのプロセスを終了するには、sudoツールを使用してユーザーとしてスクリプトを実行できますroot

sudo ./killscript.sh <pid>

他の方法もありますが、私はそれをお勧めしません、重大な安全上の問題を引き起こす可能性があり、不適切に使用すると大きな問題を引き起こす可能性があります。

setUIDonツールを使用してくださいkill。ただし、rootユーザーでなければなりません。

chmod 4755 /bin/kill

それから誰でもkillこのツールはrootユーザーとして実行できます。私はこのアプローチをお勧めしません

おすすめ記事