每当我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:
这些sudo
命令仍然有效(我认为如此,尽管我测试过的唯一命令是sudo apt-get
)。
在要求我输入密码之前,这些奇怪的消息是什么?这有什么大问题吗?我应该做些什么吗?或者我可以就这样继续使用我的系统吗?
答案1
这些信息是不言自明的。
根据设计,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
当然,要确保所有者是root
(和组root
)。