![通过 snap 运行 `sudo nmap`,同时允许写入用户主目录](https://linux22.com/image/1208123/%E9%80%9A%E8%BF%87%20snap%20%E8%BF%90%E8%A1%8C%20%60sudo%20nmap%60%EF%BC%8C%E5%90%8C%E6%97%B6%E5%85%81%E8%AE%B8%E5%86%99%E5%85%A5%E7%94%A8%E6%88%B7%E4%B8%BB%E7%9B%AE%E5%BD%95.png)
我在以满足以下所有要求的方式运行 nmap 时遇到问题:
- 我想通过 snap 安装 nmap
- 我想使用 sudo 运行 nmap(我想运行的扫描类型需要 root 权限)
- 我想将输出写入当前目录(在用户的主目录中)
这些要求看起来相当简单,但我无法以正确的方式进行设置。
仅运行 nmap 就会出现权限错误,即使在运行“snap connect nmap:home”之后也是如此。
$ sudo /snap/bin/nmap -oN file
Failed to open normal output file file for writing: Permission denied (13)
这是可能实现的吗?
答案1
如果您以用户身份运行 snap sudo
,则您是在root
用户身份下运行它,而不是您的用户。home
界面在这里不会帮助您。这使得以用户身份运行的 snap 能够访问该用户的主页。
以下工作:
export FILENAME=/root/filename
sudo /snap/bin/nmap -oN "$FILENAME"
sudo mv "$FILENAME" .
另一个选择是绑定安装文件夹。
mkdir ~/nmap
sudo mkdir /root/nmap
sudo mount -o bind /root/nmap /home/user/nmap
sudo /snap/bin/nmap -oN /root/nmap/nmapfile
ls ~/nmap
nmapfile