perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




11.02.2012 / 18:09

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragBenutzerwechsel
Seitenanfang
Hi,
ich habe ein Skript, das als root Prozess im Hintergrund läuft. Bei bestimmten Umständen soll es seine Benutzerid wechseln (also im Kontext eines anderen Benutzers laufen), um mit dessen Eigenschaften (Rechte etc.) Aktionen auszuführen. Das sui-bit kann ich setzen.
Hat jemand Erfahrungen mit sowas?

Danke

Datum: 26.01.2005-09:38

Beitragre: Benutzerwechsel
Seitenanfang
Das erreichst du unter Perl durch setzten von Spezialvariablen.


#!/usr/bin/perl

use strict;
use warnings;

use English;

my $unpriv_username = 'coax'; # unpriviligierter User

# hole UID des unpriviligierten Users
my $unpriv_uid = (getpwnam($unpriv_username))[3];

# setze effektive UID auf unpriviligierte UID
$EUID = $unpriv_uid;

# ... mach etwas unter unpriviligierten Rechten ...
#
# ... erzeuge zum Beispiel ein Verzeichnis unter neuen Rechten:
# mkdir('verzeichnis', '0755') or die $!;

Das Modul 'English' ist dafuer nicht unbedingt noetig, macht es aber moeglich, dass man die Spezialvariablen ($>) ueber eindeutigere Namen (wie hier $EUID) ansprechen kann.
Die Zeile


$EUID = $unpriv_uid;

kann also auch ohne English-Modul so

$> = $unpriv_uid;

geschrieben werden.

siehe dazu:

perldoc perlvar # (die Variablen: $< $> $( $) bzw. $UID $EUID $GID $EGID )

Datum: 03.02.2005-18:59

Beitragre: Benutzerwechsel
Seitenanfang
ja, danke. Habs inzwischen auch schon gelöst :-)

Die Gruppenzugehörigkeiten lassen sich übrigens mit $( (oder $) ) ändern. Dabei ist anzumerken, dass das nur richtig funktioniert, wenn die Datei die Zielgruppe als Gruppenzugehörigkeit hat und das s-Bit für die Gruppe gesetzt ist.

Paul

Datum: 03.02.2005-19:11

-






-
-