什么使“mysql”用户能够将文件写入/var/log?

什么使“mysql”用户能够将文件写入/var/log?

/var/log/属于root用户:

$ ls -ld /var/log
drwxr-xr-x. 13 root root 4096 Mar 31 19:23 /var/log

正如您所看到的,other没有写入权限,并且没有粘滞位(对于/tmp/文件夹)。

但是如果我查看这个文件夹,mysql 用户就可以向其中写入一个文件:

$ ls -l /var/log |grep mysql
drwxr-x---  2 mysql  mysql     4096 Mar 30 16:03 mysql

mysql 用户如何能够在该目录中创建文件?我在这里缺少什么?

答案1

dindrwxr-x---表示该mysql文件属于目录类型。该目录很可能是由 创建的root,其所有权和权限已调整。这是安装 MySQL 或其他程序期间的一次性工作。

另外.drwxr-xr-x.对于/var/log 表明存在 SELinux 安全上下文。我对 SELinux 知之甚少,但我相信可以用它授予额外的权限。如果您认为该mysql目录的创建时间不完全是,root请调查此线索。

用户mysql可以创建文件里面目录mysql。对于这一点,缺乏写入权限/var/log是无关紧要的。

您可能更熟悉这个事实:
在 Linux 中,普通用户无法直接在/home.然而,每个人都有自己的目录,/home可以在其中创建文件(/home/yves/home/kamil/home/bob)。

同样,mysql里面有一个目录/var/log可以在那里创建日志文件。

相关内容