Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6452[/thread]

Effective GID unter UNIX setzen



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
snarf
 2004-08-03 13:09
#85264 #85264
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
... 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-->
ptk
 2004-08-03 13:23
#85265 #85265
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Indem man die Variable $) setzt. Siehe perldoc perlvar.

edit renee: emoticons deaktiviert\n\n

<!--EDIT|renee|1091525301-->
snarf
 2004-08-03 16:01
#85266 #85266
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
... 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 ???
kabel
 2004-08-03 16:15
#85267 #85267
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
vielleicht hilft eine suche bei den monks?
http://www.perlmonks.org/index.pl?node=HP+UX+setregid
probier dort auch die supersearch.
-- stefan
ptk
 2004-08-03 16:55
#85268 #85268
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
"setresgid" kommt in den Sourcen von Perl vor (wenigstens bei 5.8.5), also funktioniert es vielleicht doch?
snarf
 2004-08-03 17:36
#85269 #85269
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
@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-->
sri
 2004-08-03 18:38
#85270 #85270
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
use POSIX 'setgid';

EDIT: Aber 5.6.0 auf HP-UX klingt nicht gut...\n\n

<!--EDIT|sri|1091544021-->
lichtkind
 2004-08-03 19:21
#85271 #85271
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
setpgrp PID, prozessgruppe; ?
PID = 0 ,aktueller prozess
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
snarf
 2004-08-03 19:49
#85272 #85272
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
[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-->
snarf
 2004-08-03 19:55
#85273 #85273
User since
2003-08-14
77 Artikel
BenutzerIn
[default_avatar]
[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)
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-08-03 13:09.