Root Programm als nicht-Root ausführen

P

pospiech

Doppel-As
Ich möchte das Programm nvtv (zum TV.Out für Nvidia Karten) für aller User zugänglich machen - konkret möchte ich nicht den anderen Nutzern der WG zum Fernsehgucken mein Rootpasswort geben müssen.

Ein chmod +s auf nvtv, bzw das darunter verlinkte Programm 'consolehelper' bringt nichts.

Was mache ich falsch ?

Matthias
 
Wie wäre es mit einem Posting im richtigen Topic ? ;) Verschoben !
 
Ich denke das einfachste wäre der einsatz des kleinen programms 'sudo' mit dem man, sofern man die config datei richtig bearbeitet, festlegen kann welche programme von welchen gruppen oder personen mit root rechten ausgeführt werden können.
 
@redlabour: Sorry! Habe danebengeklickt...

@Edward Nigma
>Wie wäre es mit dem Befehl chmod a+rwx Datei ???
Alle User haben schon r-x Rechte, und Schreiben sollen sie weder können, noch sehe ich nicht warum das die Rechte zum ausführen ändert.

@Ikari-Kun
>Ich denke das einfachste wäre der einsatz des kleinen programms 'sudo'

Ich sehe sudo eher als Admin-Werkzeug auf der Konsole. Hier geht es aber um ein Icon das ein Programm starten soll.
Ich würde lieber grundsätzlich dem Programm selbst die nötigen Rechte geben, als den Usern die Möglickeit es zu starten. Ist hierbei einfach logischer - da das Programm eh nichts schlimmeres anstellen kann als die aktuellen Monitoreinstellungen zu verhunzen

Matthias
 
Dann leg eine neue Gruppe für dieses Programm an, und trag deinen User in diese Gruppe ein.
 
ich habe schon probiert, dass Programm statt root meine Rechte zu geben.
Das hat aber überhaupt keien Änderung gebracht.
Sehe daher nicht warum das helfen sollte (obwohl die Idee natürlich richtig ist)

aktuelle Rechte sehen so aus:
lrwxrwxrwx 1 matthias matthias 27 Jul 4 16:26 nvtv -> ../../usr/bin/consolehelper*
-rwxr-xr-x 1 matthias matthias 3580 Mär 17 14:39 consolehelper*
-rwxr-xr-x 1 matthias matthias 22440 Mär 17 14:39 consolehelper-gtk*

User matthias kann aber nvtv nicht starten.

Verständnisproblem:

nvtv startet consolehelper um die Root Rechte zu bekommen. (ist ein Systemwrapper)
Ich sehe aber nirgendwo einen Eintrag wo steht was eigentlich geladen werden soll! ???

Matthias
 
Um ein Programm mit Rootrechte laufen zu lassen -> chmod 4766 Programmname. Ist aber immer ein Sicherheitsrisiko.

ls -l sieht dann rwsr-xr-x aus. passwd läuft z.B. genau so.
 
ich glaube eher, das programm versucht auf ein device zuzugreifen, auf das der user nicht genuegend rechte hat...

probier mal den user in die richtige gruppe zum zugriff auf die entsprechenden devices zu setzen.

auf bald
oenone
 
Sollte aber auch mit dem gesetzen SUID-Bit funktionieren weil dann dass Programm mit den Rechten von root läuft also auch das device ansprechen kann. Siehe passwd welches ja auch in /etc/shadow schreiben kann obwohl DAU keine Rechte hat der es aufruft.
 
Das sollte wie besprochen mit GID, SUID und Usergruppen funktionieren...
wenn nicht solltest du mal mit strace, ltrace usw. schauen wo das Prog nicht weiterkommt.
Auch Logs sind immer hilfreich. Mach tail -f /var/log/messages und wohin das Prog sonst noch loggt... kann man bestimmt auch irgendwo einstellen...

Falls du auf sowas keine Lust hast beschaeftige dich mal mit POSIX-ACL's...
man setfacl und du bist die meisten Sorgen los.

Niels
 

Ähnliche Themen

Linux Kernsystem absichern durch Chroots und gute Rechtevergabe

Squid als RPCoHTTPS Proxy für Outlook Anywhere

Mein C Programm braucht Root rechte!

Samba als PDC

opensuse 10.3 und umtsmon

Zurück
Oben