You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pbrun在shell脚本中以enterprisedb用户身份执行命令

基于pbrun的enterprisedb身份执行脚本方案

可直接使用的脚本模板

创建脚本文件run_as_edb.sh,内容如下:

#!/bin/bash

# 无参数传入时输出用法提示
if [ $# -eq 0 ]; then
    echo "用法: $0 要执行的命令"
    echo "示例: $0 whoami"
    exit 1
fi

# 核心执行逻辑
pbrun /bin/su - enterprisedb -c "$*"

使用步骤

  • 给脚本添加执行权限:chmod +x run_as_edb.sh
  • 执行单条带参数的命令示例:./run_as_edb.sh ls -lh /var/lib/edb
  • 执行多条命令示例:./run_as_edb.sh "whoami; echo 当前用户家目录: $HOME; ps -ef | grep postgres"

实现逻辑说明

你的pbrun策略已经允许以root身份运行/bin/su - enterprisedb命令,su命令的-c参数支持传入切换用户后要执行的命令,脚本中用"$*"包裹传入的所有参数,是为了保证带空格、特殊字符的命令也能完整传递给enterprisedb用户执行,不需要手动交互式登录切换用户。
执行./run_as_edb.sh whoami会直接返回enterprisedb,符合你的需求。

内容的提问来源于stack exchange,提问作者BeginnerSumB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:36:00