Toon posts:

su -l --command='ls', spawnt subshell maar doet niets?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

ik wil graag in Linux een shell script als root schrijven dat bepaalde subscripts uitvoert met andere user accounts. Maar die subscripts hebben een boel profile specifieke variabelen nodig, die gezet worden bij het aanmelding van die user. Dus moet ik "su" met de optie "-l" gebruiken en dan --command="subscript". Mijn script ziet er dus zo uit:
su -l --command="subscript1" user1
su -l --command="subscript2" user2
....
Maar deze spawnt telkens een subshell, voert dat subscript helemaal niet uit en blokkeert mijn hoofdscript(root) totdat ik manueel exit type en dan gaat die weer verder.

Iemand een idee hoe dit komt, of doe ik het niet op de juiste manier?

thanks.

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

sudo?

De actuele opbrengst van mijn Tibber Homevolt


Verwijderd

Topicstarter
ok, thanks voor de tip. Ik heb het nu als volgt gedaan:

sudo -H -u user1 ksh -c '. /home/user1/.profile; script1'
sudo -H -u user2 ksh -c '. /home/user2/.profile; script2'
...

en dat blijkt wel de werken.