[Skripte] Aufruf eines Skriptes mit Besitzerrechten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
coresploit
Beiträge: 237
Registriert: 26.04.2009 01:57:27
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nettetal
Kontaktdaten:

[Skripte] Aufruf eines Skriptes mit Besitzerrechten

Beitrag von coresploit » 13.04.2012 18:40:01

Guten Tag

Ich habe folgendes Szenario: Ich habe einige Verzeichnisse mit verschiedenen Besitzern und Gruppen. In den Verzeichnissen sind Skripte, die automatisiert aufgerufen werden, von einem Skript, dass selber als Root ausgeführt wird.

Gibt es eine Möglichkeit, dass das Root-Skript, welches nach den verschiedenen Skripten sucht und diese abarbeitet, die Skripte ALS der Besitzer der Skripte selbst aufruft? Damit meine ich nicht SUID, denn damit hätte ja jeder die Möglichkeit, die Skripte mit den Besitzerrechten auszuführen, ich möchte aber nur, dass Root dies tut.

Danke.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [Skripte] Aufruf eines Skriptes mit Besitzerrechten

Beitrag von rendegast » 13.04.2012 18:51:35

Code: Alles auswählen

COMMANDUSER=$(stat --printf=%U command)
su [-] $COMMANDUSER -c command

('command' könnte auch in der Form 'sh Pfad/commandscript' nötig sein) 
oder sudo einstellen (kemplexer).
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

coresploit
Beiträge: 237
Registriert: 26.04.2009 01:57:27
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nettetal
Kontaktdaten:

Re: [Skripte] Aufruf eines Skriptes mit Besitzerrechten

Beitrag von coresploit » 13.04.2012 20:17:20

rendegast hat geschrieben:

Code: Alles auswählen

COMMANDUSER=$(stat --printf=%U command)
su [-] $COMMANDUSER -c command

('command' könnte auch in der Form 'sh Pfad/commandscript' nötig sein) 
oder sudo einstellen (kemplexer).
Vielen Dank schonmal, funktioniert super. Jetzt habe ich aber ein weiteres Problem. Die Shell für die Benutzer ist /usr/bin/rssh. Diese erlaubt nur scp/sftp/rsync. Wie kann ich jetzt su mitteilen, dass es nicht die Standardshell verwenden soll, denn da bekomme ich eine hübsche Fehlermeldung.

Danke.

//EDIT: Habe das Problem schon gelöst. <<rtfm

Antworten