2016-04-20 6 views
0

Ich versuche, dies in PHP zu tun:nmap ohne Root-Rechte auf exec() php

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

aber nicht funktioniert, weil Bedürfnisse root Privilegien (andere Optionen, die root Privilegien erfordern keine Arbeit) Gibt es eine Möglichkeit, dies ohne Root-Rechte zu tun?

Vielen Dank.

Antwort

1

Änderung der Dateiberechtigungen von nmap für PHP-Benutzer oder als sudo ausführen und die PHP-Benutzer auf die sudoers für nmap

try visudo hinzufügen und bearbeiten Sie die Datei/etc/sudoers für lokale Ihre PHP-Benutzer hinzufügen und erlauben er nmap zu laufen

+1

Das ist sehr gefährlich. Wenn Nmap setuid ausgeführt wird oder eingeschränkten Benutzern (z. B. "der php-Benutzer") gestattet wird, sie mit root-Rechten auszuführen, führt dies zu einer Eskalation von Berechtigungen: Jeder kann sie problemlos zum Starten einer root-Shell verwenden. – bonsaiviking

+0

Also ist es nicht empfehlenswert, oder? – Safira

+0

ok, finaly fügte ich zu '/ etc/sudoers' Datei, diese Zeile: ' www-data xxxx = (root) NOPASSWD:/usr/bin/nmap' und 'nmap' ausführen mit' sudo' Ist ist es jetzt gefährlich? – Safira