可登录的用户
可以使用su切换到该用户,加上 - ,表示会切换到该用户的环境变量下执行,不加则还是原用户的环境下执行

su - username

不可登录用户会报错:

This account is currently not available.

可以使用这样的参数:
-s 设置登录shell -c 执行命令 www 用户名

su www -s /bin/bash -c 'echo `whoami`:$UID'

不可登录的目标用户可以这个命令来执行

sudo -u username command

有时候需要指定环境变量,指定环境变量的值:设置环境变更

sudo -u www-data ART_ENV=testing php -r "var_dump(getenv('ART_ENV'));"

或者,运行命令时保留用户环境 -E

sudo -E -u www-data php -r "var_dump(getenv('ART_ENV'));"

这个命令也是需要目标用户可登录,不然会提示“This account is currently not available.”

runuser -l username -c 'commend'

runuser 与 su 命令相比,runuser 不会要求输入目标用户的密码(前提是你以 root 身份运行该命令)。

标签: linux

添加新评论