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

杰德

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

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

mkdir -p /etc/test # Creating an /etc directory to test permissions
echo "test $(whoami) $USER $HOME" > /etc/test/a.txt

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

sudo --non-interactive --login --set-home --user=me \
sudo --non-interactive bash /home/me/sudo.bash

内容/etc/test/a.txt

test root root /home/me

我的期望:

test me me /home/me

我在这里做错了什么?

文件火

这是预期的,$(whoami)它将返回“root”,因为由于第二个sudo.

此外,$USER将返回“root”,因为sudo始终将该变量设置为目标用户(在第二个 sudo 上也是 root。)

如果您想知道哪个用户调用了sudo,在第二个的情况下哪个是“我” sudo,然后查看$SUDO_USER变量,该变量sudo设置为调用它的用户。

请参阅手册页的“环境”部分中的SUDO_USER 和 USERsudo

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法以root用户身份执行bash脚本?

BASH脚本是以root身份运行的,整齐的分组命令方式是以另一个用户身份运行的吗?

以root用户身份运行bash脚本,该脚本中具有sudo命令

以root用户身份运行的脚本可以以普通用户身份运行另一个脚本吗?

允许bash脚本以root身份运行,而不是sudo

如何以root用户身份执行脚本,以特定用户身份执行脚本中的某些命令,以root用户身份执行一个命令

如何确定是否使用 bash 脚本以 root/sudo 身份运行脚本/命令

如何找出是否使用bash脚本以root / sudo身份运行脚本/命令

我如何使用sudo在bash子外壳中以另一个用户身份执行一系列命令?

为什么bash脚本中的功能以标准用户身份运行时以root身份(使用sudo)抛出语法错误?

以root用户身份从php执行shell脚本?

Sudo命令以root身份而不是指定用户身份执行

从IntelliJ以root身份运行bash脚本

非root用户登录时以root身份执行脚本

为什么shell脚本中的“ sudo su”不以root用户身份运行脚本的其余部分?

如何找到使用bash脚本在Linux中以root用户身份登录的用户?

使用sudo运行bash脚本,以普通用户身份使用某些命令

使用Sudo执行Bash脚本功能

使用sudo执行命令并使用sudo执行Bash脚本

Sudo和Bash脚本

以root身份运行bash安装脚本-如何处理普通用户的文件?

Ansible:如何使用“ sudo su -c <COMMAND> <USER>”以另一个用户身份执行命令?

检查脚本是否以root用户身份执行?

我可以使脚本始终以root用户身份执行吗?

一个非root用户如何将sudo转换为另一个没有密码的非root用户?

以指定用户身份从另一个内部调用一个 bash 函数

Bash脚本中的Sudo SU无需询问用户密码

以另一个无密码用户身份运行命令-sudo失败?

以sudo身份作为另一个用户运行cd时出现问题