
user
スクリプトを実行したいが与えられたtest.sh
場合ls -l test.sh
-rwxrwxr-- 1 root root 96 Feb 25 21:44 test.sh
今コピーしuser
たくない人はコピーするだけです。test.sh
chmod +x
sh test.sh
実装するtest.sh
。
実行権限なしでバイナリプログラムを実行する同様の方法はありますか?
答え1
基本的に、これはよく知られており、有名なUNIX技術インタビューの質問の1つと同じです。
rootアクセス権を持つ誰かがコマンドを実行してchmod -R 444 /
バイナリchmod
を実行できないようにしたとしましょう。どのように回復しますか?
Perlの答えがあります。 1つはデフォルトで実行不可能なプログラムを実行します。chmod
この場合:
/lib/ld-linux.so /bin/chmod +x /bin/chmod
他の実行可能なプログラムにこれを適用できると思います。それ以外の場合は、発生する可能性のある災害に備えてください。
PS>/lib/ld-linux.so
名前は異なる場合があります。したがって、直接一致するものがない場合は、同様の名前の項目を見つけてくださいso
。たとえば、私のCentOS 6サーバーでは/lib/ld-linux.so.2
ポインタなので、マイレージ/lib/ld-2.12.so
が異なる場合があります。
答え2
ユーザーに実行権限がなく、変更できない場合、または変更する意思がない場合は、実行権限を持つグループまたはユーザーとして実行する必要があります。
ルートパスワードを知っている場合:
su -c <executable>
ルートパスワードがわからないが信頼できる場合sudo
:
sudo <executable>
ルートパスワードがわからず、sudo
権限が信頼できない場合は、実行可能ファイルを実行する理由があります。