/usr/bin/apt-get 的默认所有权和权限

/usr/bin/apt-get 的默认所有权和权限

这是一台只有一个用户的家用电脑。

已使用以下命令:

chown root:root /usr/bin/apt-get    
chmod 4775 /usr/bin/apt-get

如何撤消命令并恢复默认值?

答案1

删除危险的 setuid 位

sudo chmod 755 /usr/bin/apt-get

其他都没什么问题。


为了添加更多细节,以下是默认设置:

$ stat -c '%a %A %U %G' /usr/bin/apt-get
755 -rwxr-xr-x root root

问题中提到的命令添加了 setuid 位,以4八进制权限的前导显示为,并以人类可读的形式s代替所有者:x

4755 -rwsr-xr-x

setuid 位允许执行程序的用户使用其所有者的 EUID 执行此操作。在这种情况下,这意味着运行的普通用户apt-get默认以 root 身份执行此操作。由于apt-get能够完全破坏您的系统,正如 David Foerster 和 cat 在评论中指出的那样,赋予它此权限设置(尤其是因为设置了其他人的执行位,就像在这种情况下一样,允许任何用户运行该程序)非常不安全。

setuid 位始终保持在最低限度,是sudo程序中必不可少的

$ stat -c '%a %A %U %G' /usr/bin/sudo
4755 -rwsr-xr-x root root

sudo为了使其更安全,在 中配置了关于谁可以使用 的严格策略/etc/sudoers。如果该文件已损坏或不存在,或者 的权限sudo错误,sudo则会退出并显示错误。

相关内容