Sudo论点不起作用

在我的系统上sudo的标志/参数不起作用。

peter@Sirius:~$ sudo -h env: -h: No such file or directory peter@Sirius:~$ sudo -u postgres env: -u: No such file or directory 

但是,sudo的路径中的可执行文件工作正常。 我的问题不是从管理组中删除,或者有/etc/sudoers文件已损坏。 重新安装sudo并没有解决它 – https://askubuntu.com/a/46459/42720

最近升级到12.04; 升级没有其他问题。

有任何想法吗? 谢谢

问题可能是你运行的sudo可能与系统的sudo

这(可能)是用户配置。

首先:检查使用/usr/bin/sudo正常,以测试hipotesis。

如果它执行:那么要么使用其他二进制文件,要么使用别名

使用另一个二进制文件:用户可以使用不同版本的系统二进制文件(通常,它们只是脚本)。 要检查这种可能性,请运行which sudo 。 这将告诉您正在运行的sudo的位置。 如果它说/ usr / bin / sudo,那么我们排除这种可能性。 如果不是其他的话,那可能就是问题所在

使用ALIAS:别名是一种个性化命令的轻量级方法。 您可以进行一些小的更改,例如添加选项,而不是编写二进制文件。 这是在BASH的配置脚本中完成的,BASH是读取命令的程序。 要检查,请键入alias并查看列表中是否显示sudo。 如果是这样,那么这可能就是问题所在。 使用find ~/ -maxdepth 1 -size -20k -exec grep -H 'alias sudo.*' {} \; 找到设置别名的文件(一些常见的猜测是:〜/ .bashrc;〜/ .bash_profile;〜/ .bash_login和〜/ .profile)。 如果你找不到该文件,请使用find ~/ -size -20k -exec grep -H 'alias sudo.*' {} \; 相反,要查看所有用户的文件。 (这需要长时间)