Ubuntu 18.04 上的 MySQL 服务器配置文件权限

Ubuntu 18.04 上的 MySQL 服务器配置文件权限

今天,我意识到在 Ubuntu 18.04 上,常用的 MySQL(版本 5.7.26)配置文件/etc/mysql/my.cnf是符号链接,并且可供所有人读取/写入。有趣的是,它指向的文件是另一个指向的符号链接my.cnf。为什么会这样?如果我们想更改配置,我们应该编辑哪个文件?此外,默认情况下使其可供所有人读取/写入难道不是一个糟糕的决定吗?

# ls -l /etc/mysql/
drwxr-xr-x 2 root root 4096 May 21 16:30 conf.d
-rwxr-xr-x 1 root root  120 Apr 25 18:10 debian-start
-rw------- 1 root root  317 May 21 16:30 debian.cnf
lrwxrwxrwx 1 root root   24 May 21 16:30 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r-- 1 root root  839 Aug  3  2016 my.cnf.fallback
-rw-r--r-- 1 root root  682 Jan 12  2018 mysql.cnf
drwxr-xr-x 2 root root 4096 May 21 16:30 mysql.conf.d

# ls -l /etc/alternatives/my.cnf
lrwxrwxrwx 1 root root 20 May 21 16:30 /etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf

注意:这是使用命令进行的全新 Ubuntu 和 MySql 安装mysql_secure_installation。其他内容均未更改。

答案1

符号链接始终是全球可读/可写的。目标文件的权限是唯一重要的事情。更改符号链接的权限会更改目标文件的权限:

$ ls -l
total 0
-rw-r--r-- 1 vidarlo users 0 May 21 19:10 a
lrwxrwxrwx 1 vidarlo users 1 May 21 19:10 b -> a
$ chmod 755 b
$ ls -la
-rwxr-xr-x 1 vidarlo users 0 May 21 19:10 a
lrwxrwxrwx 1 vidarlo users 1 May 21 19:10 b -> a

目标/etc/mysql/mysql.cnf不是所有人都可写的。因此,用户将无法覆盖它,无论符号链接如何。

相关内容