Назад | Перейти на главную страницу

Разрешение приложениям node.js запускать libpcap без sudo (проблема «Symlink»)

Я хочу использовать следующую команду, чтобы разрешить использование пакета 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 определенно файл.
  2. Возможности разрешены для файлов, возможно, вы не можете их изменить, даже будучи пользователем root. Убедитесь в следующем:
    • Раздел, содержащий /usr/bin/nodejs монтируется rw.
    • Перегородка не монтируется с помощью опции nosuid, что предотвратит определенные действия в файловой системе (параметр монтирования nosuid указывает, что файловая система не может содержать файлы с установленными идентификаторами пользователя).