im Shellskript Benutzer wechseln...

Bash, Shell, PHP, Python, Perl, CGI
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München

im Shellskript Benutzer wechseln...

Post by floschi »

Servus!

Ich will innerhalb eines Bash-Skriptes prüfen, welcher Benutzer ich bin und zu einem unprivilegierten wechseln, der den Rest ausführt. Dazu gibt's ja su. Nur das mag nicht so, wie ich es will...

Skriptteil1

su user

Skriptteil2

Nach dem su bricht mir das Skript immer ab... ein su -c "Befehle" user würde zwar weiterhelfen, aber ich will nicht den kompletten zweiten Teil in su -c " " user schreiben...

Gibt's da ne elegantere Lösung?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: im Shellskript Benutzer wechseln...

Post by captaincrunch »

Nach dem su bricht mir das Skript immer ab... ein su -c "Befehle" user würde zwar weiterhelfen, aber ich will nicht den kompletten zweiten Teil in su -c " " user schreiben...

Code: Select all

BEFEHL="/was auch immer -mit -ein -paar -optionen | /oder/was/auch/immer"

[...]

su -c $BEFEHL user
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: im Shellskript Benutzer wechseln...

Post by thorsten »

Du kannst IMHO kein su innerhalb eines scripts durchführen, da das su eine subshell öffnet und den Rest deines Scripts damit nicht mehr sieht.
Workaround #1
Es gibt einfache C-Programme, die den su innerhalb eines scripts durchführen (sollte google finden)
Workaround #2
Du rufst scriptTeil2 über su -c als eigenes Script auf.
Die Parameter/Variablen etc. kannst du ja ggfls. per export weiterreichen.
floschi
Userprojekt
Userprojekt
Posts: 3247
Joined: 2002-07-18 08:13
Location: München

Re: im Shellskript Benutzer wechseln...

Post by floschi »

OK, danke - dann werd ich mich damit begnügen ;)
Anonymous

Re: im Shellskript Benutzer wechseln...

Post by Anonymous »

man sudo / man sudoers

:wink:
balufreak
Posts: 6
Joined: 2004-05-22 16:37

Re: im Shellskript Benutzer wechseln...

Post by balufreak »

Ich weiss es ist scho eine weile her, aber bei mir war das gerade aktuell. ich habe es so gelöst, dass ich im Script eine ssh verbindung auf den localhost gemacht habe.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: im Shellskript Benutzer wechseln...

Post by Roger Wilco »

balufreak wrote:Ich weiss es ist scho eine weile her, aber bei mir war das gerade aktuell. ich habe es so gelöst, dass ich im Script eine ssh verbindung auf den localhost gemacht habe.
Also praktisch von hinten durch die Brust in den Netzwerksocket. ;)
juergen
Posts: 133
Joined: 2004-03-30 14:44

Re: im Shellskript Benutzer wechseln...

Post by juergen »

Was spricht dagegen:

Code: Select all

su test <<EOF                                                                                                               
echo "Blub"                                                                                                                    
id                                                                                                                             
EOF   
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: im Shellskript Benutzer wechseln...

Post by Roger Wilco »

juergen wrote:Was spricht dagegen
Dass su ggf. eine Eingabe des Passworts verlangt. Das fällt bei sudo mit entsprechender Konfiguration weg.
juergen
Posts: 133
Joined: 2004-03-30 14:44

Re: im Shellskript Benutzer wechseln...

Post by juergen »

Roger Wilco wrote:
juergen wrote:Was spricht dagegen
Dass su ggf. eine Eingabe des Passworts verlangt. Das fällt bei sudo mit entsprechender Konfiguration weg.
Na, die fällt bei su und entsprechender PAM-Konfiguration auch weg. Oder aber:

Code: Select all

sudo -u test sh <<EOF
echo "Blub"
id
EOF