使用 sudo 时出现奇怪的消息

Fik*_*dal 7 command-line sudo 14.04

每当我sudo在终端中运行命令时,就会发生这种情况:

arun@arun-GP70-2OD:~$ sudo apt-get update
sudo: /etc/sudoers.d/README is world writable
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
 [sudo] password for arun:
Run Code Online (Sandbox Code Playgroud)

这些sudo命令仍然有效(我认为是这样,尽管我测试过的唯一一个是sudo apt-get)。

在我被要求输入密码之前,这些奇怪的消息是什么?这里有什么大问题吗?我应该为此做些什么吗?或者我可以就这样继续使用我的系统吗?

hee*_*ayl 19

这些消息是不言自明的。

按照设计,sudo相关文件和库应该只能由root.

该目录/var/lib/sudo包含个人用户的sudo相关数据,如果非 root 用户有足够的权限,可以很容易地读取/修改这些数据,这当然是一个安全问题。

该文件/etc/sudoers.d/README包含有关sudo. 想象一个流氓用户编辑该文件并添加虚假信息(然后您遵循该信息)。

因此,简而言之,修复权限:

sudo chmod 0400 /etc/sudoers.d/README
sudo chmod -R 0700 /var/lib/sudo  ## Recursively
Run Code Online (Sandbox Code Playgroud)

当然,请确保所有者是root(和组root)。