【问题标题】:Bash script - change to root then exit rootBash 脚本 - 更改为 root 然后退出 root
【发布时间】:2013-04-12 23:10:31
【问题描述】:

如果我正在运行 bash 脚本,有没有办法切换到 root 用户,处理命令,然后退出 root 模式?例如,我想在 bash 脚本中间包含这些命令:

sudo su
umount /home/user/myMount
exit

问题是在第一行运行后,shell 进入 root 模式,但随后停止执行。当然,此时我可以创建并执行第二个脚本,但这违背了编写脚本的目的,因为我可以自己键入命令。

另一个明显的想法是从一开始就以 root 用户运行脚本。但是,如果我是 root 用户,此脚本中的其他一些命令会失败,因为它们会暴露出具有这么多访问权限的安全漏洞。

所以,我需要一种进入根目录然后退出的方法。

谢谢。

【问题讨论】:

    标签: bash root sudo


    【解决方案1】:

    指定命令

    sudo 命令可以接受命令和可选参数。例如:

    sudo umount /home/user/myMount
    

    这将仅以 root 身份运行指定的命令及其参数。如果要以其他用户身份运行命令,可以使用 -u 标志。例如,要以 Fred 身份运行 umount,您可以使用:

    sudo -u fred umount /home/user/myMount
    

    虽然肯定有其他方法可以解决此问题,但这是迄今为止最简单和最常见的方法。

    【讨论】:

      【解决方案2】:

      为了以 root 身份执行umount,请使用

      sudo umount /home/user/myMount
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-29
        • 2012-07-23
        • 1970-01-01
        • 2017-07-11
        • 2014-05-21
        • 2014-12-24
        • 2016-03-19
        相关资源
        最近更新 更多