Linux:以指定的用户执行Shell命令
发布于 2023-03-10 14:08:24
有时候,我们需要以指定的用户来执行命令脚本。例如,elasticsearch不能以root用户身份来启动,但如果我们登录了root用户,就需要用另外的用户身份(例如例子中的es用户)来执行启动命令。
以es用户在当前目录新建一个文件myfile
sudo -H -u es bash -c "touch myfile"
当前用户是root,以es用户来启动elasticsearch
sudo -H -u es bash -c "/opt/elasticsearch-7.9.1/bin/elasticsearch -d"
-
-u选项指定以哪个用户执行命令 -
-H(HOME)选项请求安全策略将HOME环境变量设置为目标用户的主目录。
更新于 2025-11-09 11:18:41