[Linux]多种方式实现Shell用其他用户运行,可用于脚本中

2021-05-26 716点热度 0人点赞 0条评论

在运行Shell命令的时候,需要在当前用户(例如root)下以其他用户身份(例如tomcat用户)运行某个命令,该如何做呢

简单点,可以直接用su tomcat或者su - tomcat切换到tomcat身份,然后再执行命令

如果要在某个脚本中,临时用其他身份运行呢?也很简单,可以用sudo或者su加上适当的参数来实现

我们以用当前登录的root,要以tomcat身份执行命令whoami(顾名思义,这时显示当前用户的命令,我是谁)为例:

#使用sudo -u <USER> <COMMAND>
[root@localhost ~]# sudo -u tomcat whoami
tomcat

#使用su <USER> -c <COMMAND>
[root@localhost ~]# su -s /bin/sh tomcat -c "whoami"
tomcat
[root@localhost ~]# su - tomcat -c "whoami"
tomcat
[root@localhost ~]# su tomcat -c "whoami"
tomcat

#或者直接先用su切换,再运行
[root@localhost ~]# su tomcat
[tomcat@localhost root]$ whoami
tomcat

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论