我正在构建一个使用一些nmap标志的Web应用程序,例如-O,这需要root用户才能运行。由于我是通过Java应用程序运行的,因此我不想以root身份运行所有内容来完成此任务。是否有可能将nmap privs更改为非root用户?或者,还有其他选择吗?
答案 0 :(得分:0)
Nmap需要某些操作的root权限,因为底层操作系统需要它们来处理Nmap使用的各种行为:主要是原始套接字和网络嗅探。这不是你可以改变的东西。
一种选择是仅使用不需要root的Nmap功能。这些功能包括:
-sT
)-sV
)需要root的功能是:
重要的是要注意Nmap没有防止root用户执行任意代码的保护措施。这意味着将非常不安全用作setuid程序或允许非管理员用户使用sudo运行它。
对使用Linux文件功能运行Nmap进行了一些研究。您可以在SecWiki.org的Running nmap as an unprivileged user页面上查看如何执行此操作。