Chromium浏览器的超级用户权限

Chromium浏览器的超级用户权限

apt-get install chromium在 Debian 12 上运行后,
ps alx | grep -e ^F -e ^5.*chromium返回:

F   UID     PID    PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
5  1000 3452315 3452313  20   0 33884428 16712 do_sys S  ?          0:00 /usr/lib/chromium/chromium --type=zygote --crashpad-handler-pid=3452306 --enable-crash-reporter=,built on Debian 12.4, running on Debian 12.4 --change-stack-guard-on-fork=enable

此命令在 LUbuntu 18 之后执行(在其 中apt-get install chromium-browser执行):
snap install chromium/var/lib/dpkg/info/chromium-browser.preinst

F   UID     PID    PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
5  1000  197953  197951  20   0 33909972 1228 do_sys S   ?          0:00 /snap/chromium/2729/usr/lib/chromium-browser/chrome --type=zygote --crashpad-handler-pid=197944 --enable-crash-reporter=,snap --change-stack-guard-on-fork=enable

其中标志F值的5含义是使用超级用户权限根据man ps

为什么 Chromium 浏览器在通过常规包管理安装并由非特权用户运行时需要并获得超级用户权限?

ChatGPT 说这将用于安装或更新,但我不相信,因为我使用常规安装,更新将在 Debian 或Ubuntu 上apt-get完成。unattended-upgradessnapd

答案1

顺便提一句 :

其中标志 F 值 5 表示根据 man ps 使用的超级用户权限。

确实但不仅如此:5 = 1 + 4

PROCESS FLAGS 这些值的总和显示在“F”列中,该列由 flags 输出说明符提供:

           1    forked but didn't exec
           4    used super-user privileges

分叉但没有执行确认--type=zygote 您列出的 chrome 进程中设置的参数实际上已被考虑在内,成功使其成为受精卵过程

另外,请注意过去时态的使用“用过的“这意味着该报告不反映有关进程初始化后很可能立即删除的功能的当前状态。(进程在不再需要特权时立即删除特权被认为是最佳实践)


出于明显的安全原因,Chromium 将诉诸沙箱
除了现在非常旧的内核的情况外,它将使用用户命名空间沙箱技术。受精卵进程负责设置它。

在安全方面,Zygote 负责设置和记录命名空间沙箱。

尽管该技术基于非特权命名空间,但负责设置它的进程实际上需要特权命名空间CAP_SYS_CHROOT能力但只有直到沙箱完全投入使用。

所以,简而言之:该进程实际上需要超级用户功能,以便...启用所有以非特权方式运行的内容...;-),并且一旦设置了适当的环境,就会删除它们。

相关内容