2016-04-20 8 views
0

私はPHPでこれをやろうとしている:nmapの()は、PHP

exec("nmap -O x.x.x.x -oX file.xml"); 

しかし、ニーズroot権限(root権限を必要としない他のオプションが動作)ので動作しません。 root特権なしでこれを行う方法はありますか?

ありがとうございます。

答えて

1

変更PHPユーザのためのnmapのファイルのパーミッションをまたはsudoのようにそれを実行し、nmapの

トライvisudoをのためのsudoersファイルにPHPのユーザーを追加し、/ etc/sudoersファイル は、ローカルのためのPHPのユーザーを追加し、許可する編集彼はnmapを実行する

+1

これは非常に危険です。 Nmap setuidを作成したり、制限されたユーザ(例えば「phpユーザ」)にroot特権でそれを実行させることは特権の昇格につながります。誰でも簡単にroot shellを起動できます。 – bonsaiviking

+0

それはお勧めしませんね。 – Safira

+0

OK、finaly私は 'の/ etc/sudoers'ファイル、この行に追加: ' WWW-データXXXX =(ルート)NOPASSWD:は/ usr/binに/ nmap' と 'nmap'を実行sudo' 'とされていますそれは今危険ですか? – Safira

関連する問題