linux 切换用户 继续执行

来源:互联网 发布:php代码审计 编辑:程序博客网 时间:2024/05/17 02:15

1.命令作用 


su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。 


2.使用方式 


su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]] 


3.参数说明 


-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。 


-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并 


且工作目录也会改变。如果没有指定USER,缺省情况是root。 


-m, -p ,–preserve-environment:执行su时不改变环境变数。 


-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。 


–help 显示说明文件 
–version 显示版本资讯 


USER:欲变更的使用者账号, 
ARG: 传入新的Shell参数。

su - user -c "run_script"


但是我这里有一个特殊情况, run_script 这个需要运行的脚本,只能在切换的用户下运行。就算是root也不能执行。