我想使用以下命令来允许使用 libpcap 包而无需 sudo(在 debian 系统上):
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/nodejs
我收到此错误:
Failed to set capabilities on file `/usr/bin/nodejs' (Invalid argument)
The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
但/usr/bin/nodejs
不是一个符号链接:
-rwxr-xr-x 1 root root 18M Jun 3 03:20 /usr/bin/nodejs
USER@HOST:~$ which nodejs
/usr/bin/nodejs
我的驱动器安装如下:
USER@HOST:~$ cat /etc/fstab
#
# /etc/fstab
#
# <device> <mountpoint> <filesystemtype> <options> <dump> <fsckorder>
/dev/mmcblk0p1 / ext3 defaults 0 1
答案1
按顺序检查:
- 仔细检查这是否
/usr/bin/nodejs
确实是一个文件。 - 这些功能是针对文件允许的,也许您无法更改它们,即使以 root 身份也是如此。请确保以下事项:
- 包含的分区
/usr/bin/nodejs
已安装 rw。 - 分区是不是使用选项挂载
nosuid
,这将阻止对文件系统执行某些操作(nosuid 挂载选项指定文件系统不能包含设置用户 ID 的文件)。
- 包含的分区