运行应用程序的 Sudo 用户:可以通过应用程序将其提升为 root 吗?
例如,
用户“user_xyz”是 sudo 组中的常规用户。
sudo command
不需要密码。
如果用户运行一个应用程序,该应用程序是否会将用户提升为根用户,从而导致安全问题?
答案1
用户“user_xyz”是 sudo 组中的常规用户。
不要将不受信任的用户添加到 sudo 组
这须藤Ubuntu 中的组是一个特殊用途的组,普通用户成为该组的成员将获得完全管理员权限;他们不再是“普通”用户。根据设计和默认,该组成员身份授予用户不受限制的sudo
权限。sudo 组中的管理员可以使用该sudo
命令以完全权限运行任何命令或工具,并访问该系统上所有其他用户、服务和组件的所有数据和设置。
# Uuntu defaults in /etc/sudoers
...
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
团体会员sudo 组还在其他地方授予管理员权限除了 sudo,例如在 PolicyKit /波尔基特针对(GUI)应用程序的强制策略。
# Ubuntu defaults in /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
[Configuration]
AdminIdentities=unix-group:sudo;unix-group:admin
如果用户运行一个应用程序,该应用程序是否会将用户提升为根用户,从而导致安全问题?
即使你没有将用户添加到 sudo 组,而是创建一个sudoers
该策略只允许您的用户使用 sudo 和提升的权限运行单个命令/应用程序root
,请注意,用户通常可能会以意想不到的方式使用有限的访问权限来获得比您预期的更多的权限。
例如,请参阅此处有关使用文本编辑器的 sudo 权限来获得更多权限的问答:为什么授予普通用户 sudo vim 访问权限会有风险?
甚至有限sudoers
策略只应授予值得信任的用户。