为什么 sudo 不在 Ubuntu 12.04 中添加 root 的 PATH?

Phi*_*ing 4 server sudo 12.04

我最近将我的服务器升级到 Ubuntu Server 12.04。以前它运行的是 11.04。

从那时起,我一直无法通过 sudo 执行 root 用户命令。这方面的一个例子是:

> sudo ufw status
sudo: ufw: command not found
> sudo su - root
> ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    LIMIT       Anywhere
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 11.04 中,普通的sudo ufw status工作正常,但在 Ubuntu 12.04 中它找不到命令。

这似乎只是 PATH 未设置的问题(ufw在 中找到/usr/sbin/ufw)。

我想了解的是我需要改回什么,以便在我刚刚时正确设置 root 的 PATH sudo <sbin command>

And*_*ers 5

您是否查看过手册页sudo?在SECURITY NOTES 一节中,他们讨论了如何sudo使用PATH变量。

你也想看看/etc/sudoers作为PATH有改变secure_path。也可以通过目录中的文件进行设置/etc/sudoers.d/

建议sudo通过在其中创建文件来更改您的配置,/etc/sudoers.d/因为这样您的更改将保持独立于/etc/sudoers升级sudo到新版本时可能发生的更改。您仍然应该使用该visudo命令来创建和编辑/etc/sudoers.d/.