我已经尝试了其他可用问题的大多数解决方案,所以请不要参考它们。它们都不包括我的情况。
我在Ubuntu-16.04上,我正在尝试以下命令在没有密码提示的情况下运行:
/usr/local/bin/nanobox run python manage.py runserver 0.0.0.0:8080
我尝试了不同的变体,我能够找到 - 转义特殊字符,使用通配符,使用命令别名等等:
username ALL=(ALL) NOPASSWD: /usr/local/bin/nanobox run python manage.py runserver 0.0.0.0\:8080
username ALL=(username) NOPASSWD: /usr/local/bin/nanobox run python manage.py runserver 0.0.0.0\:8080
username ALL=NOPASSWD: /usr/local/bin/nanobox run python manage.py runserver 0.0.0.0\:8080
username ALL=(ALL) NOPASSWD: /usr/local/bin/nanobox run python manage.py runserver 0.0.0.0:8080
username ALL=(ALL) NOPASSWD: /usr/local/bin/nanobox run *
使用命令别名:
Cmnd_Alias NANOBOX_RUN=/usr/local/bin/nanobox run python manage.py runserver 0.0.0.0\:8080
username ALL=(ALL) NOPASSWD: NANOBOX_RUN
username ALL=NOPASSWD: NANOBOX_RUN
username ALL=(username) NOPASSWD: NANOBOX_RUN
这一切都无效。我要么是语法错误,要么是密码提示。请帮帮我。
显然,我不想使用
username ALL=(ALL) NOPASSWD: ALL
答案 0 :(得分:0)
(即使很长一段时间后...,也许对某人有帮助)
昨天和今天花费了许多时间之后,为什么似乎没有理由让我的sudoers不允许我运行没有密码的命令,所以解决方案非常简单:
检查您的别名!
我已将我的外壳配置为使用如下别名
alias sudo='sudo env "PATH=/usr/local/sbin:/usr/local/bin" '
在不带配置的纯bash中运行命令时,它运行良好。