it-swarm-vi.tech

Cách thay đổi chủ sở hữu của điểm gắn kết

Chúng tôi đã chuyển thư mục dữ liệu mysql sang đĩa khác, vì vậy bây giờ /var/lib/mysql chỉ là một điểm gắn kết với phân vùng khác. Chúng tôi đặt chủ sở hữu của /var/lib/mysql thư mục đến mysql.mysql.

Nhưng mỗi khi chúng tôi gắn kết phân vùng, quyền sở hữu sẽ thay đổi thành root.root. Vì điều này, chúng tôi không thể tạo thêm cơ sở dữ liệu MySQL.

Mục fstab của chúng tôi:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

Làm cách nào để thay đổi chủ sở hữu của điểm gắn kết thành người dùng khác với root?

46
Arie K

Bạn cần thay đổi các quyền của hệ thống tập tin được gắn kết, không phải của điểm gắn kết khi hệ thống tập tin không được gắn kết. Vì thế mount /var/lib/mysql sau đó chown mysql.mysql /var/lib/mysql. Điều này sẽ thay đổi quyền của thư mục gốc của hệ thống tệp MySQL DB.

Ý tưởng cơ bản là hệ thống tập tin giữ DB cần phải được thay đổi, không phải là điểm gắn kết, trừ khi đường dẫn của nó có một số vấn đề, ví dụ: lib chỉ có thể được đọc bằng root.

43
Cristian Ciupitu

cũng thế

mount device mount-point -o uid=foo -o gid=foo

nếu nhóm cũng cần phải thay đổi

34
user55650

Thêm uid và gid như thế này:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

Bạn có thể sử dụng tên người dùng/nhóm thực tế (coi chừng khoảng trắng) hoặc giá trị uid, gid số. Tôi đã thêm rw và exec, điều này có thể giúp bạn tiếp tục ngăn chặn các rắc rối truy cập (giả sử bạn đang ở trên một hệ thống phát triển, không phải máy chủ sản xuất).

PS: Để có nhiều quyền truy cập hơn (nếu muốn), hãy thêm ", dir_mode = 0777, file_mode = 0777"

11
Frank Nocke

Hãy chắc chắn rằng bạn thay đổi quyền khi hệ thống tập tin không được gắn kết - thực hiện nó trong khi gắn kết chưa bao giờ làm việc cho tôi.

Ngoài ra, bạn có thể thêm tùy chọn 'người dùng' vào fstab của mình, ví dụ:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime,user        0       2

Điều này cũng có nghĩa là lệnh mount (nếu cần được gọi) sẽ không cần quyền root để gắn kết âm lượng đó. Không thay đổi fstab của bạn sẽ không ngăn bạn khắc phục vấn đề của bạn!

4
Tom Werner

Tôi thường làm điều này trên thư mục chưa đếm

chmod 777 <directory>

Sau đó làm

chown -R mysql.mysql <directory>

Sau đó, trong/etc/fstab làm

<device>    <directory>  ext3   user,defaults 0 2

Sau đó sử dụng

mount -a

để gắn kết tất cả các hệ thống tập tin được liệt kê trong/etc/fstab.

Điều này làm việc cho tôi. Hãy thử một lần

2
Saurabh Barjatiya

Nếu bạn chỉ muốn làm điều đó như một phần của dòng lệnh mount, bạn có thể sử dụng -o chuyển và làm:

mount device mount-point -o uid=foo

Điều đó sẽ thay đổi chủ sở hữu của điểm gắn kết thành người dùng foo thay vì root.

2
Nasko