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-upgrades
snapd
顺便提一句 :
确实但不仅如此:5 = 1 + 4
forked but did not exec标志确认
--type=zygote
您列出的 chrome 进程中设置的参数实际上已被考虑在内,成功使其成为zygote 进程。此外,请注意过去时态“ used ”的使用意味着该报告不反映有关可能在进程初始化后立即删除的功能的当前状态。(一旦不再需要特权,进程就立即放弃特权,这被认为是最佳实践)
出于明显的安全原因,Chromium 将诉诸沙箱。
除了现在非常旧的内核的情况外,它将使用用户命名空间沙箱技术。受精卵进程负责设置它。
尽管该技术基于非特权命名空间,但负责设置它的进程实际上需要特权
CAP_SYS_CHROOT
功能,但前提是沙箱完全投入使用。所以,简而言之:该进程实际上需要超级用户功能,以便...启用所有以非特权方式运行的内容...;-),并且一旦设置了适当的环境,就会删除它们。