组权限对于根组拥有的文件重要吗?

组权限对于根组拥有的文件重要吗?

我偶然发现了一个脚本,其中包含以下两个命令:

chown -R some-user:0 /some/dir
chmod -R g+w /some/dir

具体来说,这是来自 nginx 非特权 Docker 镜像的 Dockerfile。

是否有任何理由为什么要向根组拥有的文件添加组写入权限?考虑到 root 组中没有其他用户,是否有任何情况可能会产生影响?

答案1

首先,问题不应该是“根组中是否有任何用户”,而是“根组中是否存在任何用户”。

用户(真实用户和系统用户)或正在运行的进程可能会通过以下任一方式进入根组:

  • (显然)如果它们列在 /etc/group 的根组中
  • 如果它们列在 /etc/passwd 第 4 列的根组中
  • 如果可执行文件是 sgid root
  • 如果某些系统服务(如 systemd 或 sudo)在根组中启动进程
  • 可能还有其他我忘记的事情

如果发生其中任何一个,那么文件是否是组根可写的就很重要了。

相关内容