CentOS6.4でNOEXECを試しました。/etc/sudo.conf
次のようにファイルを編集しました。
Path noexec /usr/libexec/sudo_noexec.so
そして/etc/sudoers
:
ssh ALL=(root) ALL,NOEXEC:/usr/bin/passwd
noexec libが正しいパスにあると確信していますが、ユーザーとしてsshを使用してもパスワードを変更できます。 NOEXECでは結果は出ません。アドバイスをいただける方ですか?
ベストアンサー1
このNOEXEC
フラグはプログラムの実行を妨げません。これは、リストされたプログラムが他のプログラムを実行するのを防ぎます。 ~から万寿石:
aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi
これにより、aaronユーザーはnoexecを有効にして/usr/bin/moreおよび/usr/bin/viを実行できます。これにより、これら2つのコマンドが他のコマンド(シェルなど)を実行するのを防ぎます。
システムがnoexecをサポートできるかどうかわからない場合は、いつでもnoexecが有効になっているときにシェルエスケープが機能していることを確認できます。
ユーザーが特定のコマンドを実行できないようにするには、たとえば、!
次のようにします。
ssh ALL=(root) ALL, !/usr/bin/passwd
/usr/bin/passwd
別の名前でコピーを作成してホストにコピーし、適切な権限などを設定できるため、この行はあまり役に立ちません。