我想创建一个快捷方式,打开终端并运行sudo nethogs
命令,而无需我提供 root 权限。
答案1
有两种方法可以解决这个问题:
授予nethogs
所需的功能
我认为最简单、最安全的方法是让它nethogs
能够在没有 root 权限的情况下运行。您可以通过在每次启动时授予它当前以 root 身份临时获取的权限来实现这一点。您可以使用以下命令执行此操作:
sudo setcap "cap_net_admin,cap_net_raw=ep" /usr/sbin/nethogs
一旦您赋予了nethogs
这些功能,它就能够在没有 root 权限的情况下捕获您的网络流量,因此您应该能够使用快捷方式使用它,而无需填写任何凭据。
编辑/etc/sudoers
不过,可以在这里找到解决此类问题的更通用的方法如何在没有密码的情况下运行特定的 sudo 命令?它基本上告诉您如何安全地添加nethogs
或任何其他命令以便/etc/sudoers
能够执行它,而无需手动输入密码。