[perl]user / gruppe aendern

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

[perl]user / gruppe aendern

Beitrag von blackm » 20.09.2003 18:22:29

Hi,

ich hab ein Script in dem folgenden Zeilen vorkommen:

Code: Alles auswählen

POSIX::setgid($groupid);
POSIX::setuid($userid);
Wenn ich das Programm als root starte, dann funktioniert alles super.
Leider kann das Programm aber nicht als root laufen, also hab ich einen Systemuser angelegt unter dem das Programm laufen soll, aber irgendwie kann der die UID / GID nicht aendern.

Das ganze ist fuer einen MDA, der z.B. nach UID: 10005 und GID: 10000 wechseln soll.

Jemand ne Idee wie ich das hinbekommen kann?

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 20.09.2003 21:16:19

Also wenn ich das Script auf setuid root setze dann geht es auch. Denke mal auch das er der einzigste Weg ist der mir bleigt.
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 22.09.2003 23:23:41

Das ist der einzige Weg. setuid() geht immer dann, wenn "su" in der Shell kein Passwort erfordert (Also nur bei root). Anderenfalls, musst Du den User erst am System autentifizieren (Passwort des anderen Account abfragen...)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 23.09.2003 07:43:54

Ich hab mal ein bischen bei der Konkurenz geschaut, maildrop funktioniert nach dem gleichen Prinzip.
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 23.09.2003 18:02:31

suid Wrapper sind eigentlich eine Standard Methode (genau so, wie Du es gemacht hast). Nur immer schön darauf achten, dass man wirklich nur das nötigste als root macht (z.B. Port <1024 belegen) und dass man keine Benutzerparameter als root ungesehen verwendet (Stichwort Taint Mode!). Ausserdem sollte man so früh wie möglich die root Rechte ablegen. Sprich: eben schnell alle Dinge erledigen, die root erfordern, und dann sofort auf normalen User runterschalten.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten