伟明部落格

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环境变量设置为目标用户的主目录。

--更新于 2023-03-10 14:09:52