User since
2003-08-14
77
Artikel
BenutzerIn
... mag ja mal wieder sein, dass ich den Wald vor lauter Bäumen nicht sehe ...
Habe hier ein freundliches Script, dass sich artig zum Deamon wandelt - soweit, so gut. Allerdings kann ich mir zum Teufel nicht merken, dass ich vorher meine Group ID ändern muss, bevor ich es starte. Ansonsten werden halt alle Files mit "falschen GID" erzeugt -> unschön
Die Frage aller Fragen: Wie setze ich die effective GID innerhalb meines Scriptes auf den gewünschten Wert???
... um Hilfe winselnd ...
snarf
huch ... da fehlt natürlich noch, dass es sich um ein Perl 5.6.0 auf einer HP-UX handelt ...\n\n
<!--EDIT|snarf|1091524236-->
User since
2003-11-28
3645
Artikel
ModeratorIn
Indem man die Variable $) setzt. Siehe perldoc perlvar.
edit renee: emoticons deaktiviert\n\n
<!--EDIT|renee|1091525301-->
User since
2003-08-14
77
Artikel
BenutzerIn
... soviel zu Theorie & Praxis :(
Wenn ich's richtig sehe, dann habe ich hier ein kleines Implementierungsproblem unter HP-UX (laut perlvar soll das Betriebssystem setregid unterstützen, bei HP-UX scheint das aber eine Eigenentwicklung namens setresgid zu sein)
Kennt jemand einen Workaround ???
User since
2003-08-04
704
Artikel
BenutzerIn
vielleicht hilft eine suche bei den monks?
http://www.perlmonks.org/index.pl?node=HP+UX+setregid
probier dort auch die supersearch.
-- stefan
User since
2003-11-28
3645
Artikel
ModeratorIn
"setresgid" kommt in den Sourcen von Perl vor (wenigstens bei 5.8.5), also funktioniert es vielleicht doch?
User since
2003-08-14
77
Artikel
BenutzerIn
@kabel : danke für den tipp - aber leider Fehlanzeige
@ptk : das explizite setzen von $) bleibt leider völlig wirkungslos - mag sein das setresgid von 5.8.x akzeptiert wird (bzw. in den Sourcen vorhanden ist), aber meine alte "klitsche" hier läuft nur mit 5.6.0 (nein, den Aufwand, den ich hier betreiben müßte, um eine neue Installation zu erhalten ...)
Ich werde wohl den "Langweiler-Workaround" nehmen müssen - sprich: Skript beendet sich sofort beim Start wenn seine GID nicht korrekt gesetzt wurde.
Danke für Eure Hilfe!\n\n
<!--EDIT|snarf|1091540298-->
User since
2004-01-29
828
Artikel
BenutzerIn
use POSIX 'setgid';
EDIT: Aber 5.6.0 auf HP-UX klingt nicht gut...\n\n
<!--EDIT|sri|1091544021-->
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
setpgrp PID, prozessgruppe; ?
PID = 0 ,aktueller prozess
User since
2003-08-14
77
Artikel
BenutzerIn
[quote=sri,03.08.2004, 16:38]use POSIX 'setgid';
EDIT: Aber 5.6.0 auf HP-UX klingt nicht gut...[/quote]
ja, würde auch unter HP-UX mit 5.6.0 klappen - wenn denn HP-UX die Sache sauber auflösen würde (was wohl nicht funktioniert).
Wie gesagt, ich werde dann den "Langweiler-Workaround" nehmen (siehe oben) oder einfach einen Wrapper vorschalten ... geht schneller als wenn ich jetzt noch meine (nicht mehr vorhandenen) C-Kenntnisse ausgrabe und einen Function-Call zu setresgid implementieren möchte :)\n\n
<!--EDIT|snarf|1091548219-->
User since
2003-08-14
77
Artikel
BenutzerIn
[quote=lichtkind,03.08.2004, 17:21]setpgrp PID, prozessgruppe; ?
PID = 0 ,aktueller prozess[/quote]
... nein, nicht ganz. Ich möchte nicht die Prozessgruppe ändern (die wird über setsid sowieso nach daemonizing gesetzt - wieso funktioniert das eigentlich??? tststs ...) sondern die effektiven Rechte des Scripts anpassen (erzeugte files sollen mit dem Group-Ownership-Rights der Gruppe B erzeugt werden, wobei mein Account ein Member von [a,b,c,d] ist)