Permitindo que aplicativos node.js executem a libpcap sem sudo (problema “Symlink”)

2

Eu quero usar o seguinte comando para permitir o uso do pacote libpcap sem o sudo (em um sistema debian):

sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/nodejs

Estou recebendo este erro:

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

Mas /usr/bin/nodejs não é um link simbólico:

-rwxr-xr-x 1 root root 18M Jun  3 03:20 /usr/bin/nodejs

USER@HOST:~$ which nodejs
/usr/bin/nodejs

meu disco é montado assim:

USER@HOST:~$ cat /etc/fstab 
#
# /etc/fstab
#
# <device>      <mountpoint>    <filesystemtype>    <options>   <dump>  <fsckorder>
/dev/mmcblk0p1  /               ext3                defaults    0       1
    
por Bastl 04.09.2016 / 22:23

1 resposta

0

Verifique na ordem:

  1. Confirme se /usr/bin/nodejs é definitivamente um arquivo.
  2. Os recursos são permitidos para arquivos, talvez você não possa alterá-los, mesmo como root. Assegure o seguinte:
    • A partição que contém /usr/bin/nodejs está montada rw.
    • A partição é não montada usando a opção nosuid , que impedirá determinadas ações no sistema de arquivos (A opção nosuid mount especifica que o sistema de arquivos não pode conter arquivos userid definidos).
por 05.09.2016 / 17:21