Fedora 16 quyền lạ / tmp: mysqld sẽ không bắt đầu


7

Tôi đã cài đặt mysql trên máy chủ Fedora 16 hoàn toàn mới và nó sẽ không khởi động. Đây là dòng từ tệp nhật ký ( ^Gvà tất cả):

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

Tôi nhìn vào /tmp/và nó có quyền trông khá kỳ lạ:

drwxrwxrwt.

Tại sao dấu chấm? chmod 1777không thay đổi bất cứ điều gì. Đây có phải là trách nhiệm cho lỗi? Cái gì tiếp theo?

Câu trả lời:



5

Dấu chấm có nghĩa là có một ACL (danh sách kiểm soát truy cập) ghi đè lên lược đồ cấp phép Unix thông thường. Đây là những gì của tôi trông như:

$ 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

Kiểm tra thư mục / tmp của bạn. Nếu nó khác, sử dụng setfacl để sửa nó.


Cảm ơn! Điều này là mới. :-) Tôi nên đào xung quanh để tìm hiểu thêm về nó. Đây không phải là nguyên nhân cho vấn đề của tôi cuối cùng, nhưng thật là một kiến ​​thức tốt đẹp!
KateYoak

Không, dấu chấm có nghĩa ngược lại. A +có nghĩa là có ACL mở rộng.
Mikel

getfaclđang hiển thị cho bạn tệp chỉ có ACL tối thiểu. Xem suse.de/~agruen/acl/linux-acls/online
Mikel

5

Lỗi 13 có lẽ là lỗi hệ thống 13, có nghĩa là quyền bị từ chối.

$ perror 13
OS error code  13:  Permission denied

Một dấu chấm có nghĩa là tập tin có bối cảnh SELinux.

GNU coreutils - Thông tin nào được liệt kê

GNU ls sử dụng một '.' ký tự để chỉ ra một tệp có ngữ cảnh bảo mật SELinux, nhưng không có phương thức truy cập thay thế nào khác.

Một tệp có bất kỳ sự kết hợp nào khác của các phương thức truy cập thay thế được đánh dấu bằng ký tự '+'.

Bạn có thể hiển thị bối cảnh SELinux bằng cách chạy ls -Z, vd

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

Các bước tiếp theo là:

  • nhìn vào /var/log/messages
  • nhìn vào /var/log/audit/audit.log
  • thử chạy ausearchhoặcsealert

Xem:


Xem câu trả lời của uther quá. Đó có thể là nguyên nhân gốc rễ cho trường hợp cụ thể của bạn.
Mikel

2

SELinux có thể khó cấu hình với MySQL

Fedora và Red Hat đang sử dụng SELinux (xem trong / etc / sysconfig / selinux nếu SELINUX có giá trị "thực thi"). Tôi đã cài đặt (2 năm trước) MySQL trên RHEL 5 và tôi đã phải điều chỉnh SELinux để nó chơi tốt với MySQL.

Nếu đó không phải là sự từ chối cấp phép ACL (như bị chặn bởi Barry Brown) thì hãy thử xem nếu bằng cách đặt SELINUX thành "cho phép" (và khởi động lại) thì điều này không giải quyết được vấn đề của bạn. Đặt SELinux thành cho phép sẽ không từ chối quá trình truy cập mà nó yêu cầu, nhưng nó sẽ vẫn được ghi lại. Vì vậy, nếu SELinux là thủ phạm, bạn sẽ được thông báo trong nhật ký và MySQL sẽ có thể bắt đầu.

Nếu nó đã giải quyết được vấn đề của bạn nhưng bạn muốn duy trì kích hoạt SELinux, hãy tìm kiếm SELinux + MySQL + Fedora, tôi đã tìm thấy nhiều tài nguyên 2 năm trước về vấn đề này. Mọi thứ có thể đã thay đổi kể từ thời điểm đó và có thể phụ thuộc vào các phiên bản MySQL, v.v. Vì vậy, tôi không thể cho bạn lời khuyên tốt hơn là chỉ cho bạn đi đúng hướng. :)


1

Vấn đề không liên quan đến quyền - mặc dù tôi rất vui khi nhận được câu trả lời ở trên để thỏa mãn sự tò mò của mình. Thay vào đó, tôi phát hiện ra rằng tôi đã không chạy

 yum update

sau khi cài đặt Fedora ban đầu. Tôi đoán, lỗi đã được sửa ở đâu đó trong đó sau khi Fedora 16. Duh phát hành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.