允许 node.js 应用程序在没有 sudo 的情况下运行 libpcap(“符号链接”问题)

允许 node.js 应用程序在没有 sudo 的情况下运行 libpcap(“符号链接”问题)

我想使用以下命令来允许使用 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

按顺序检查:

  1. 仔细检查这是否/usr/bin/nodejs确实是一个文件。
  2. 这些功能是针对文件允许的,也许您无法更改它们,即使以 root 身份也是如此。请确保以下事项:
    • 包含的分区/usr/bin/nodejs已安装 rw。
    • 分区是不是使用选项挂载nosuid,这将阻止对文件系统执行某些操作(nosuid 挂载选项指定文件系统不能包含设置用户 ID 的文件)。

相关内容