首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以另一个用户的身份执行sudo Bash脚本

以另一个用户的身份执行sudo Bash脚本
EN

Ask Ubuntu用户
提问于 2018-11-27 08:18:28
回答 1查看 2.8K关注 0票数 1

我以root身份登录,并希望以另一个用户的身份执行具有sudo权限的Bash脚本。

这是/home/me/sudo.bash中的测试Bash脚本:

代码语言:javascript
复制
mkdir -p /etc/test # Creating an /etc directory to test permissions
echo "test $(whoami) $USER $HOME" > /etc/test/a.txt

我目前拥有的命令(从root运行,为我运行):

代码语言:javascript
复制
sudo --non-interactive --login --set-home --user=me \
sudo --non-interactive bash /home/me/sudo.bash

/etc/test/a.txt的内容:

代码语言:javascript
复制
test root root /home/me

我所期望的是:

代码语言:javascript
复制
test me me /home/me

我在这里做错什么了?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-11-27 08:48:38

这是预期的,$(whoami)将返回" root ",因为由于第二个sudo,它作为根用户运行。

另外,$USER将返回" root“,因为sudo总是将该变量设置给目标用户(同样,该变量是第二个sudo上的根)。

如果您想知道哪个用户调用了sudo (在第二个sudo中是"me“),那么查看$SUDO_USER变量,sudo将这个变量设置为调用它的用户。

请参阅苏多_用户和用户手册页的“环境”部分。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1096408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档