Var

什麼使 mysql 使用者可以將文件寫入 /var/log?

  • March 31, 2021

/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 使用者如何在此目錄中創建文件?我在這裡想念什麼?

dindrwxr-x---表示mysql文件是目錄類型。該目錄很可能是由 創建的root,其所有權和權限已調整。這是安裝 MySQL 或其他任何時候的一次性工作。

另外.drwxr-xr-x.for 中/var/log 表示有一個 SELinux 安全上下文。我對 SELinux 知之甚少,但我相信可以授予它額外的權限。如果您認為該mysql目錄的創建不完全正確,請root調查此線索。

mysql使用者可以在目錄創建文件。mysql為此,缺少寫入權限/var/log是無關緊要的。

您可能更熟悉這個事實:

在 Linux 中,普通使用者無法直接在/home. 然而,每個人都有自己的目錄/home,可以在其中創建文件(/home/yves, /home/kamil, /home/bob)。

同樣mysql在裡面有一個目錄/var/log來創建日誌文件。

引用自:https://unix.stackexchange.com/questions/642991