小编krz*_*zto的帖子

sudo - 冒充用户

我正在尝试正确使用 sudo 命令和 sudoers 文件,以便我可以以其他用户身份运行命令。

我的 sudoers 文件设置如下:

beans ALL = (root,apache) NOPASSWD: /opt/renovations/var/script-*.sh
Run Code Online (Sandbox Code Playgroud)

root、apache 和 beans 是 bean 组的一部分。
另外 /opt 有 755 权限,而 /opt/renovations 目录及其子目录由 beans 用户和组拥有。

我试图作为 bean 运行的命令是:

sudo -n -u apache -i /opt/renovations/var/script-test.sh  
Run Code Online (Sandbox Code Playgroud)

-n: 是这样我就不会被提示输入密码,因为这将由 cron 运行
-u: 是这样我可以模拟 apache 用户
-i: 是这样我模拟登录,以及我的 .profile已加载。我需要这个以便我访问 .profile 中的环境变量。

问题是当我运行 sudo 命令时,我收到以下消息:

sudo:抱歉,运行 sudo 需要密码

我已经尝试在 AIX 和 Ubuntu 上运行它,但问题出在两个系统上。如果我运行,这会起作用:

sudo -n -u apache /opt/renovations/var/script-test.sh
Run Code Online (Sandbox Code Playgroud)

但是没有 -i,我的环境不包含我需要在那里的所有环境变量。

我需要在我的 sudoers 文件中更新什么才能做到这一点吗?

users sudo

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

sudo ×1

users ×1