visudo nopasswd对我的命令不起作用

时间:2018-05-14 09:10:46

标签: ubuntu-16.04 sudo sudoers visudo nanoboxio

我已经尝试了其他可用问题的大多数解决方案,所以请不要参考它们。它们都不包括我的情况。

我在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

1 个答案:

答案 0 :(得分:0)

(即使很长一段时间后...,也许对某人有帮助)

昨天和今天花费了许多时间之后,为什么似乎没有理由让我的sudoers不允许我运行没有密码的命令,所以解决方案非常简单:

检查您的别名!

我已将我的外壳配置为使用如下别名

alias sudo='sudo env "PATH=/usr/local/sbin:/usr/local/bin" '

在不带配置的纯bash中运行命令时,它运行良好。