NEWS
Radar2 läßt sich nicht mit root rechten ausführen
-
@necromonger Mit dem 'ersten' user (userid 1000). Der bekommt bei der Installation sudo-Rechte und administriert dann das System mittels 'sudo wasauchimmerrootrechtebenötigt'. Jedenfalls, wenn man das System richtig aufgesetzt hat.
-
@Thomas-Braun said in Radar2 läßt sich nicht mit root rechten ausführen:
arp-scan
Hier schein das Problem zu liegen. Also wenn ich die Befehle mit meinem User ausführe bekomme ich folgende Fehlermeldung:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
readlink: missing operand Try 'readlink --help' for more information. usage: setcap [-q] [-v] (-r|-|<caps>) <filename> [ ... (-r|-|<capsN>) <filenameN> ] Note <filename> must be a regular (non-symlink) file.]
Also userid 1000 besitzt der User!
Gruss
David -
groups
Und bitte die komplette Ein- und Ausgabe zeigen. Inkl. login prompt.
Also so ungefähr:pi@raspberrypi:~ $ groups pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker
-
@Thomas-Braun said in Radar2 läßt sich nicht mit root rechten ausführen:
groups
codiergott@iobroker-vm:/$ sudo -u iobroker groups iobroker tty dialout audio video codiergott@iobroker-vm:/$ whoami codiergott codiergott@iobroker-vm:/$ sudo whoami root codiergott@iobroker-vm:/$ groups codiergott dialout cdrom floppy sudo audio dip video plugdev netdev iobroker codiergott@iobroker-vm:/$
Hatte IOBroker schon einmal auf einen Pi zu laufen und dort lief es ohne Probleme. Dort ging auch das setzen der Capabitilities.
-
@necromonger
Also bei meinem System funktioniert das:pi@raspberrypi:~ $ sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) pi@raspberrypi:~ $
-
Auf meinem Pi ging das auch. Nur auf einer frischen Debian 10 installation geht es irgendwie nicht. Hab Debian 10 neu aufgesetzt und dann probiert. Das gleiche.
Mit getcap bekomme ich folgende Ausgabe:codiergott@iobroker-vm:/$ sudo which arp-scan /usr/sbin/arp-scan codiergott@iobroker-vm:/$ sudo getcap /usr/sbin/arp-scan /usr/sbin/arp-scan = cap_net_bind_service,cap_net_admin,cap_net_raw+eip
Das sieht für mich korrekt aus!
-
which arp-scan
und dann ersetzt du das im setcap entsprechend:
pi@raspberrypi:~ $ which arp-scan /usr/sbin/arp-scan pi@raspberrypi:~ $ sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f /usr/sbin/arp-scan)
-
@necromonger
Kann auch sein, dass die 'Netzwerkkarte' in der VM nicht mit arp-scan umgehen kann. Das ganze ist recht hardwarenah, wenn ich mich recht entsinne. -
Das funktioniert reibungslos. Bei /etc/sudoers ist folgende Zeile als Kommentar markiert:
#includedir /etc/sudoers.d
Die Zeile fügt doch alle Dateiinhalt aus /etc/sudoers.d der Datei hinzu. Also auch die Konfig von IOBroker.
-
@necromonger Die Zeile tut gar nix, die ist auskommentiert. Und fummel da nix rum.
-
Das ist korrekt. Ich habe aber unter /etc/sudoers.d eine Datei zu liegen mit folgenden Name: iobroker
Diese hat folgenden Inhalt:
iobroker ALL=(ALL) ALL iobroker ALL=(ALL) NOPASSWD: /usr/sbin/shutdown iobroker ALL=(ALL) NOPASSWD: /usr/sbin/halt iobroker ALL=(ALL) NOPASSWD: /usr/sbin/poweroff iobroker ALL=(ALL) NOPASSWD: /usr/sbin/reboot iobroker ALL=(ALL) NOPASSWD: /usr/bin/systemctl start iobroker ALL=(ALL) NOPASSWD: /usr/bin/systemctl stop iobroker ALL=(ALL) NOPASSWD: /usr/bin/mount iobroker ALL=(ALL) NOPASSWD: /usr/bin/umount iobroker ALL=(ALL) NOPASSWD: /usr/bin/systemd-run iobroker ALL=(ALL) NOPASSWD: /usr/bin/apt-get iobroker ALL=(ALL) NOPASSWD: /usr/bin/apt iobroker ALL=(ALL) NOPASSWD: /usr/bin/dpkg iobroker ALL=(ALL) NOPASSWD: /usr/bin/make iobroker ALL=(ALL) NOPASSWD: /usr/bin/ping iobroker ALL=(ALL) NOPASSWD: /usr/sbin/setcap iobroker ALL=(ALL) NOPASSWD: /usr/bin/cat iobroker ALL=(ALL) NOPASSWD: /usr/bin/df iobroker ALL=(ALL) NOPASSWD: /usr/sbin/ldconfig ALL ALL=NOPASSWD: /usr/bin/systemctl start iobroker ALL ALL=NOPASSWD: /usr/bin/systemctl stop iobroker ALL ALL=NOPASSWD: /usr/bin/systemctl restart iobroker ALL ALL=(iobroker) NOPASSWD: /usr/bin/node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js *
Dies wird dann nicht in die sudoers Datei eingefügt.
-
@necromonger Doch, das ist richtig so wie es ist.
which setcap
Kannst auch mal den
iobroker fix
durchjagen.
-
which setcap
/usr/sbin/setcap
iobroker fix durchgejagt und neugestartet. Gleicher Fehler!
-
@Thomas-Braun said in Radar2 läßt sich nicht mit root rechten ausführen:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f
which l2ping
)Fehler gefunden:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f /usr/sbin/arp)
Kommandozeile hat bei der Installation irgendwie nicht funktioniert!
Jetzt läuft alles!!
Danke dir für deine Hilfe!
-
@necromonger sagte in Radar2 läßt sich nicht mit root rechten ausführen:
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f which l2ping)
Das ist ja auch falsch. Da fehlen die Hochkommata um which l2ping
Hatte ich aber auch so nicht geschrieben. -
@thomas-braun ich habe (vermutlich nach dem Update auf Debian 12) das selbe Problem.
bei dem Befehl "which arp-scan" und "arp" kommt unter dem User iobroker immer die Meldung
iobroker@iobroker:~$ arp-scan -bash: arp-scan: Kommando nicht gefunden.
somit laufen auch die beiden setcap-Befehle für arp & arp-scan auf Fehler.
iobroker@iobroker:~$ sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`) readlink: fehlender Operand „readlink --help“ liefert weitere Informationen. usage: setcap [-h] [-q] [-v] [-n <rootid>] (-r|-|<caps>) <filename> [ ... (-r|-|<capsN>) <filenameN> ] Note <filename> must be a regular (non-symlink) file. -r remove capability from file - read capability text from stdin <capsN> cap_from_text(3) formatted file capability [ Note: capsh --suggest="something..." might help you pick. ] -h this message and exit status 0 -q quietly -v validate supplied capability matches file -n <rootid> write a user namespace (!= 0) limited capability --license display the license info iobroker@iobroker:~$
Im Log für Radar2 kommt dann
Adapter not running as root or iobroker has no sudo right, cannot use arp-scan!
Gruppenzugehörigkeit ist folgende:
iobroker@iobroker:~$ sudo -u iobroker groups iobroker tty dialout cdrom floppy sudo audio dip video plugdev netdev bluetooth
was kann/muss ich tun?
System ist aktuell, js-controller 5.0.12/node 18.17.1
-
@steimi sagte in Radar2 läßt sich nicht mit root rechten ausführen:
was kann/muss ich tun?
Schau mal ob das überhaupt installiert ist.
sudo apt update apt policy arp-scan
-
iobroker@iobroker:~$ sudo apt update apt policy arp-scan OK:1 https://security.debian.org/debian-security bookworm-security InRelease OK:2 https://deb.debian.org/debian bookworm InRelease Holen:3 https://deb.debian.org/debian bookworm-updates InRelease [52,1 kB] OK:4 https://deb.debian.org/debian stable InRelease Holen:5 https://deb.nodesource.com/node_18.x bookworm InRelease [4.586 B] Es wurden 56,7 kB in 1 s geholt (80,5 kB/s). Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Alle Pakete sind aktuell. arp-scan: Installiert: 1.10.0-2 Installationskandidat: 1.10.0-2 Versionstabelle: *** 1.10.0-2 500 500 https://deb.debian.org/debian bookworm/main amd64 Packages 500 https://deb.debian.org/debian stable/main amd64 Packages 100 /var/lib/dpkg/status iobroker@iobroker:~$
-
Keine Ahnung. Hier läuft es...
Kann aber vom Büro aus nicht tiefer buddeln, wo es da bei dir klemmen könnte.
type -p arp-scan
liefert?
-
@steimi sagte in Radar2 läßt sich nicht mit root rechten ausführen:
500 https://deb.debian.org/debian bookworm/main amd64 Packages
500 https://deb.debian.org/debian stable/main amd64 Packages
Das ist übrigens eine Doublette. Solange bookworm=stable ist kein Problem. Könnte allerdings eins werden, wenn trixie=stable wird.