gpt4 book ai didi

linux - 如何在以其他用户身份使用 sudo 时运行多个命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:56 27 4
gpt4 key购买 nike

我需要在 Linux 中以另一个用户身份运行两个或多个命令。例如,使用“root”,我需要向另一个用户执行 sudo 并执行类似“cd/tmp/; ls -ltr”的操作。

如果我这样做:"sudo -i -u john.smith whoami"没有双引号,它会告诉我我是 john.smith。

现在我想扩展 whoami,更改目录并执行 ls 命令,同时使用“root”以 sudo 作为 john.smith。

最佳答案

Bash 支持一个 -c 标志,它允许您指定要作为命令行参数运行的命令——基本上是一个内联 Bash 脚本。这意味着您可以轻松地将多个命令合并到对 bash 的单个调用中,然后可以轻松地用 sudo 编辑:

sudo -i -u john.smith bash -c 'whoami ; cd /tmp/ ; ls -ltr'

sudo -i -u john.smith \
bash -c ' whoami
cd /tmp/
ls -ltr
'

(其他shell语言也有相同的特性。)

关于linux - 如何在以其他用户身份使用 sudo 时运行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41045117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com