【问题标题】:Execute root command with no root user avoiding password prompt在没有root用户的情况下执行root命令,避免密码提示
【发布时间】:2016-08-23 22:52:30
【问题描述】:

我有一个执行以下命令的 script.sh 文件:

chown -R apache:apache /var/www/html/my/data

如果我尝试使用非 root 用户(用户名 = marco)执行,提示密码会暂停脚本等待输入。

我正在尝试配置 /etc/sudoers 文件,添加以下行,但它们都不起作用,并且总是提示我输入 sudo 密码:

marco ALL=(ALL:ALL) NOPASSWD:/my/directory/structure/script.sh
marco ALL=(ALL) ALL

有什么线索吗? 谢谢。

【问题讨论】:

    标签: linux bash shell root


    【解决方案1】:

    如果你只需要root权限就可以运行chown,那么就不需要给整个脚本root权限。放入脚本中:

    sudo chown -R apache:apache /var/www/html/my/data
    

    并且,使用 sudoedit,添加以下行:

    marco ALL=(ALL:ALL) NOPASSWD:chown -R apache:apache /var/www/html/my/data
    

    【讨论】:

    • 解决方案似乎是正确的,但仍然提示我输入密码...可能用户的其他设置有误。
    • @MarcoFalzone 好奇。我知道没有覆盖 NOPASSWD 的选项。您是否检查了日志文件 (/var/log) 中的消息? (另外,只是为了验证一下,你是不是 sudoedit,不是吗?)
    猜你喜欢
    • 2014-07-14
    • 1970-01-01
    • 2018-05-04
    • 2016-11-16
    • 1970-01-01
    • 2013-11-06
    • 2018-07-28
    • 2012-03-06
    相关资源
    最近更新 更多