![为什么给 mysql 组与 sudo 组相同的 GID?](https://linux22.com/image/135676/%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BB%99%20mysql%20%E7%BB%84%E4%B8%8E%20sudo%20%E7%BB%84%E7%9B%B8%E5%90%8C%E7%9A%84%20GID%EF%BC%9F.png)
我正在按照中的安装/设置说明进行操作MySQL安全部署指南,其中表示创建 mysql 组:
groupadd -g 27 -o -r mysql
允许-o
添加具有非唯一 GID 的组。我检查了我的机器上的 /etc/group ,sudo 组使用 GID 27
sudo:x:27:ivan
我还检查了另一台运行不同 Linux 发行版的机器,它有一个不同的组 ( dialout
) 占用 GID 27。
使用非唯一 GID 会产生什么影响?为什么这些说明建议这样做?
答案1
我对该文档的阅读并没有让我相信其意图是共享该sudo
组。在我看来,开发人员选择 27 是因为它在他们的系统上未使用,其目的是创建一个新的GID 27 组。不过,他们将标志mysql
添加到 中破坏了这种信念,因为这明确允许新组共享现有的 GID,这将-o
groupadd
不是是为了职责分离,而不是为了安全。
如果是我的话,我会允许groupadd
选择GID;我不确定是否需要系统 GID(比 /etc/login.defs:GID_MIN 小一)。
groupadd mysql
或者
groupadd -r mysql
然后用名称引用组mysql
,不要依赖 GID 27。快速在该文档中搜索“27”除了您已找到的页面之外,没有找到任何匹配项。没有 的结果chgrp
,唯一的命中chown
是在安装后设置他们在以下位置使用组名称:
chown mysql:mysql /usr/local/mysql/mysql-files
和
chown mysql:mysql /usr/local/mysql/data
(我已经调整了命令以显示完整路径与文档中的相对路径)。