【问题标题】:Using unelevated privileges from user when running shell script as root以 root 身份运行 shell 脚本时使用用户未提升的权限
【发布时间】:2020-02-17 20:52:44
【问题描述】:

我正在为我编写的一个小程序创建一个安装脚本,它需要以 root 身份运行才能将可执行文件复制到 /usr/bin/,尽管有一部分脚本必须作为非根用户。

我知道在脚本中使用 sudo 是不好的做法,但这是我能想到的唯一方法,无需分隔文件或询问用户名。肯定还有别的办法。

如果我知道以 sudo 身份运行脚本的用户名,我可以使用 sudo -u username command 在非根部分的脚本中,但是在运行脚本时如何在不询问用户名的情况下获取用户名?

【问题讨论】:

  • 你应该可以使用$SUDO_USER,所以你可以sudo -u $SUDO_USER command
  • 谢谢,这就是我想要的。我知道它会像那样简单,只是不知道它或如何搜索它

标签: bash shell root privileges


【解决方案1】:

正如@Philippe 所说,我只需要这样做

sudo -u $SUDO_USER command

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 2012-05-03
    • 2013-06-29
    • 2011-03-10
    相关资源
    最近更新 更多