Fedora 16 奇怪的 /tmp 权限:mysqld 无法启动

Fedora 16 奇怪的 /tmp 权限:mysqld 无法启动

我在全新的 Fedora 16 服务器上安装了 mysql,但它无法启动。这是日志文件中的行(^G以及全部):

^G/usr/libexec/mysqld: Can't create/write to file '/tmp/ibNPyIlu' (Errcode: 13)

我看了看/tmp/,它有看起来很奇怪的权限:

drwxrwxrwt.

为什么是点? chmod 1777不会改变任何东西。这对错误负责吗?下一步是什么?

答案1

点表示有一个 ACL(访问控制列表)覆盖了通常的 Unix 权限方案。这是我的样子:

$ ls -ld /tmp
drwxrwxrwt. 7 root root 4096 Apr 23 22:36 /tmp

$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx

检查您的 /tmp 目录。如果不同,请使用 setfacl 进行更正。

答案2

错误13可能是系统错误13,这意味着权限被拒绝。

$ perror 13
OS error code  13:  Permission denied

点表示该文件具有 SELinux 上下文。

GNU coreutils - 列出了哪些信息

GNU ls 使用“.”字符来指示具有 SELinux 安全上下文的文件,但没有其他替代访问方法。

具有任何其他备用访问方法组合的文件都标有“+”字符。

您可以通过运行来显示 SELinux 上下文ls -Z,例如

$ ls -dZ /tmp
drwxrwxrwt. root root system_u:object_r:tmp_t:s0       /tmp

接下来的步骤是:

  • 在看/var/log/messages
  • 在看/var/log/audit/audit.log
  • 尝试跑步ausearchsealert

看:

答案3

这是一个错误,从他们更改为使用 ServicesPrivateTmp 来提高安全性时mysqld开始。systemd当您执行 时yum updatemysql软件包已更新为 mysql-5.5.22-1.fc16 或更高版本,从而纠正了该问题。

答案4

这个问题与权限无关——尽管我很高兴得到上面的答案来满足我的好奇心。相反,我发现我没有跑

 yum update

初始 Fedora 安装后。我猜想,在 Fedora 16 最初发布后,该错误已在某个地方得到修复。呃。

相关内容