在运行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
文章评论