kB schrieb:
Hartmut2 schrieb:
[…] Auf meinem kubuntu funktioniert '/usr/bin/ping' auch seit dem Upgrade auf 24.04 weiterhin ohne sudo-Rechte
Kubuntu ≠ Ubuntu. Möglicherweise haben die Entwickler von Kubuntu schon cap net_raw gesetzt während die Entwickler von Ubuntu noch schlafen.
Danke kB für Deinen Post. Deine Vermutung scheint richtig zu sein:
hg6@i3300:/media/D/Tst$ getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep
hg6@i3300:/media/D/Tst$
[…] SUID-Bit […] hab ich da was falsch verstanden?
Vermutlich ja. Das SUID-Bit selbst bringt keine Root-Rechte, sondern sorgt dafür, dass das Programm mit den Rechten seines Besitzers ausgeführt wird. Erst wenn der Besitzer root ist, bringt das den entscheidenden Unterschied. Lese: Rechte
Ok, verstanden. Habe mal spaßeshalber meinem Testprogramm den Bestitzer 'root' gegeben und danach das SUID-Bit nochmal gesetzt:
hg6@i3300:/hg/utis$ ls -l test8
-rwxrwxr-x 1 hg6 hg6 5101600 Aug 20 10:20 test8
hg6@i3300:/hg/utis$ sudo chown -v root test8
[sudo] Passwort für hg6:
der Eigentümer von 'test8' wurde von hg6 in root geändert
hg6@i3300:/hg/utis$ sudo chmod u+s test8
hg6@i3300:/hg/utis$ ls -l test8
-rwsrwxr-x 1 root hg6 5101600 Aug 20 10:20 test8
hg6@i3300:/hg/utis$
Jetzt funktioniert mein Programm auch ohne sudo-Rechte korrekt. Vielen Dank für diese Lösung.
Leider hat diese Lösung 2 Nachteile:
nach jedem Compilieren des Programms müssen chown + chmod wiederholt werden (und beide benötigen sudo) und das kann bis zu 50x am Tag vorkommen
die Anwender des Programms müssen nach jedem Programm-Update ebenfalls beide Befehle wiederholen, wofür sudo nötig wäre, was bisher nicht nötig ist.
Damit hat diese Lösung doch solche Nachteile, daß ich sie nicht mehr praktikabel finde.
Leider hab ich inzwischen festgestellt, daß auch die Lösung von verdooft den Nachteil hat, daß der Befehl "sudo filecap <programm> net_raw" sowohl nach jedem Compilieren des Programms als auch nach jedem Programm-Update beim Anwender wiederholt werden müsste. Das ist zwar 1 Befehl weniger, aber ebenfalls würden jedes Mal dafür sudo-Rechte benötigt. Damit finde ich auch diese Lösung leider nicht mehr praktikabel.
Deshalb würde ich gerne nochmal fragen:
Ist sich jemand sicher, daß die im 1. Post gefragte alternative Lösung, einfach den aktuellen User in eine geeignete Gruppe aufzunehmen (so wie bei WebDAV und seriellen Schnittstellen möglich, siehe 1. Post) hier definitiv nicht möglich ist?