我们在 Ubuntu 20.04 上,重启了几次并运行了 fsck。现在 mysqld 拒绝启动:
Jan 16 12:40:01 example audit[1427]: AVC apparmor="DENIED" operation="connect" profile="/usr/sbin/mysqld" name="/run/samba/winbindd/pipe" pid=1427 comm="mysqld" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
Jan 16 12:40:01 example kernel: audit: type=1400 audit(1705405201.256:19): apparmor="DENIED" operation="connect" profile="/usr/sbin/mysqld" name="/run/samba/winbindd/pipe" pid=1427 comm="mysqld" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
但是winbindd和Mysql有什么关系呢?
我的第一个猜测是,winbindd/pipe 文件可能与 /var/lib/mysql 中的文件共享一个 inode,但事实似乎并非如此:
root@example /var/lib/mysql # stat /run/samba/winbindd/pipe
File: /run/samba/winbindd/pipe
Size: 0 Blocks: 0 IO Block: 4096 socket
Device: 19h/25d Inode: 696 Links: 1
Access: (0777/srwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-01-16 12:21:51.453451032 +0100
Modify: 2024-01-16 12:21:51.368164631 +0100
Change: 2024-01-16 12:21:51.368164631 +0100
Birth: -
root@example /var/lib/mysql # find . -inum 696
root@example /var/lib/mysql # cd ..
root@example /var/lib # find . -inum 696
我们没有改变任何 apparmor 配置。
编辑:如果我们禁用 mysqld 的 apparmor 配置文件,我们仍然会得到
Jan 16 12:47:25 example systemd[1]: mysql.service: Main process exited, code=exited, status=2/INVALIDARGUMENT