开发者

How to login as another user and then log out in bash script?

I need to write a bash script to do something as another user and then return to the initial user...

Suppose I run the following as root:

#!/bin/bash
USER=zaraza
su - "${USER}"
#do some stuff as zaraza
________ #here I should logout zaraza
#continue doing things as root

In the console I should write "exit", but开发者_开发问答 in bash is a keyword and it exits the script...

Thanks in advance,


Use su -c. From the man page:

 su man -c catman
        Runs the command catman as user man.  You will be asked for man's
        password unless your real UID is 0.


The simplest way is to make the stuff that has to run as the other user a separate script and invoke it with the "-c" option in su, like su -c otherscript userid.

You may be able to do that as a "here script" with << EOF, but I've never tried it.


You could also use sudo.


This will do it.

su - ${username} -c /path/to/the/shellscript.sh

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜