Tôi chỉ đang thử nghiệm bản cài đặt Ubuntu mới (Vivid 15.04) trên Vagrant và gặp sự cố với mysql và đăng nhập vào một vị trí tùy chỉnh.
Trong /var/log/syslog
tôi nhận được
/usr/bin/mysqld_safe: cannot create /var/log/mysqld.log: Permission denied
Nếu ls -l /var
tôi nhận được
drwxrwxr-x 10 root syslog 4096 Jun 8 19:52 log
Nếu tôi tìm trong / var / log thì tập tin không tồn tại
Tôi nghĩ rằng tôi đã tạm thời vô hiệu hóa apparmor chỉ để cô lập nếu đó là vấn đề khác hoặc gây ra sự cố, nhưng không chắc liệu nó có tạo ra sự cố không (chỉnh sửa: nghĩ rằng nó vẫn có thể được bật, vì vậy không chắc đây là sự cố hay đơn giản quyền).
Nếu tôi cố gắng tự tạo tệp như mysql, tôi cũng bị từ chối (Tôi tạm thời cho phép nó bash truy cập để kiểm tra, tôi sẽ xóa sau).
touch /var/log/mysql.log
touch: cannot touch ‘/var/log/mysql.log’: Permission denied
Nếu tôi nhìn vào một máy chủ đang chạy (centos) khác, nó có các quyền như trên (và viết là người dùng mysql), vì vậy tôi tự hỏi làm thế nào mà mysql thường có quyền truy cập vào thư mục / var / log và làm cách nào tôi có thể truy cập nó truy cập thư mục đó thông qua chạy bình thường?
Đây là hồ sơ apparmor của tôi cho mysql
/usr/sbin/mysqld {
#include
#include
#include
#include
#include
capability dac_override,
capability sys_resource,
capability setgid,
capability setuid,
network tcp,
/etc/hosts.allow r,
/etc/hosts.deny r,
/etc/mysql/** r,
/usr/lib/mysql/plugin/ r,
/usr/lib/mysql/plugin/*.so* mr,
/usr/sbin/mysqld mr,
/usr/share/mysql/** r,
/var/log/mysqld.log rw,
/var/log/mysqld.err rw,
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,
/var/run/mysqld/mysqld.pid rw,
/var/run/mysqld/mysqld.sock w,
/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock w,
/sys/devices/system/cpu/ r,
/var/log/mysqld.log rw,
# Site-specific additions and overrides. See local/README for details.
#include
}
Tôi cũng đã thêm tập tin trên vào apparmor.d / vô hiệu hóa directoru
Lưu ý: Tôi đã thêm dòng này /var/log/mysqld.log rw
, ban đầu nó không có ở đó và có cùng một vấn đề (sau khi thực hiện tải lại apparmor).
apparmor module is loaded.
5 profiles are loaded.
5 profiles are in enforce mode.
/sbin/dhclient
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/sbin/tcpdump
0 profiles are in complain mode.
1 processes have profiles defined.
1 processes are in enforce mode.
/sbin/dhclient (565)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 systemd[1]: Starting MySQL Community Server...
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 mysqld_safe[11231]: 150608 20:33:33 mysqld_safe Logging to '/var/log/mysqld.log'.
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 mysqld_safe[11231]: touch: cannot touch ‘/var/log/mysqld.log’: Permission denied
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 mysqld_safe[11231]: chmod: cannot access ‘/var/log/mysqld.log’: No such file or directory
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 mysqld_safe[11231]: 150608 20:33:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Jun 8 20:33:33 vagrant-ubuntu-vivid-64 mysqld_safe[11231]: /usr/bin/mysqld_safe: 126: /usr/bin/mysqld_safe: cannot create /var/log/mysqld.log: Permission denied