shell script how to switch users?
jjrboucher at gmail.com
Thu Jan 4 13:49:38 UTC 2007
On 1/4/07, Rajiv Jaisankar <rajiv.jaisankar at gmail.com> wrote:
> Hi All,
> i am not sure if this is the right mailing list for asking this question. I
> would appreciate any help on this.
> I want to switch users using a shell script, i.e.
> Say i am logged in as user1. I would like to say su - user2 in my script.
> I would be performing some operations as user "user2" as part of the script
> after logging in as this user.
> Finally i will be exiting back to user1 shell.
> How will i login as user2 through shell script?
> How will i execute scripts as user2 after logging in from shell script?
> Even if i am able to login as user2
> any commands after "su - user2" are not executed as user2. They are executed
> only as user1 when i exit the
> user2 shell.
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe:
Use the -c option with su, and call a new script to run as that user.
I tried the following:
echo "before su"
su root -c ./rootscript.sh
echo "after su"
rootscript.sh (located in the same directory hence why called by ./rootscript)
echo "now in sub shell"
echo "exiting sub shell"
It behaved exactly as you'd like. Within the second script, I was
root running the commands.
More information about the users