12
Đôi điều về hệ thống permission trên Linux/Mac Nguyễn Quang Tuyển [email protected] n

Đôi điều về hệ thống permission trên linux/mac

Embed Size (px)

Citation preview

Page 1: Đôi điều về hệ thống permission trên linux/mac

Đôi điều về hệ thống permission trên Linux/Mac

Nguyễn Quang Tuyển

[email protected]

Page 2: Đôi điều về hệ thống permission trên linux/mac

Vấn đề rất hay gặp phải khi làm việc với server Linux

• Upload source code lên – Và không chạy như ý muốn

• Nguyên nhân– Upload sai thư mục – Upload sai server  – Permission

Page 3: Đôi điều về hệ thống permission trên linux/mac

Nguyên nhân

• Đôi khi download file về được nhưng không upload lên server được – Vì không có quyền ghi (write)

• Chương trình khi muốn upload file hoặc ảnh lên đều báo lỗi – Vì không có quyền ghi (write)

• => Đều liên quan tới permission

Page 4: Đôi điều về hệ thống permission trên linux/mac

Permission

• Permission (quyền) là khái niệm rất rõ ràng và hay gặp khi dùng CLI (Command LIne)

• Trên Windows tương đối ít gặp, trừ trường hợp share nhiều user trên 1 máy tính – Người dùng Mac phổ thông cũng vậy– Vì thế sẽ tương đối bỡ ngỡ khi làm việc với

server Linux

Page 5: Đôi điều về hệ thống permission trên linux/mac

Permission

• $ ssh [email protected]• Câu lệnh trên có ý nghĩa gì?

– Mở 1 kết nối SSH tới server có IP là 54.251.101.25

– Cổng 22

– Với user là nginx

• Nếu kết nối thành công, ta sẽ đăng nhập server với tư cách của user nginx – nginx chỉ là cái tên, không liên quan tới Nginx

Webserver

Page 6: Đôi điều về hệ thống permission trên linux/mac

Permission

$ ls –l

Để kiểm tra permission, ta gõ lệnh

Page 7: Đôi điều về hệ thống permission trên linux/mac

Magneto - Marvel

Page 8: Đôi điều về hệ thống permission trên linux/mac

• ls –l helmet • drwxr-xr-x 2 magneto marvel 4096 6 月 6 19:23 helmet

– d: thường gặp directory hoặc – (file)– rwx: quyền của user sở hữu file hoặc folder – r-x: quyền của group sở hữu file hoặc folder – r-x: quyền của các đối tượng còn lại, others– 2: số liên kết tới file/folder này.

• 1 => đây là file • >2 => đây là folder• Ví dụ: 7 => có 5 folder con trong folder này

– magneto : tên user sở hữu – marvel : tên group sở hữu – 6 月 6 19:23: tên ngày tháng sửa đổi cuối – helmet: tên file/folder

• => Đây là 1 folder, thuộc sở hữu của user magneto và group marvel. User magneto có quyền đọc, ghi và xoá file trong folder cũng như xoá nó. User thuộc group marvel chỉ có quyền đọc và xoá, không có quyền ghi

Page 9: Đôi điều về hệ thống permission trên linux/mac

Áp dụng

• Đối với webserver chạy nginx hoặc apache, thường các request PHP sẽ được xử lý dưới tư cách của user tương ứng, nginx hoặc apache – Các user này được tự động tạo ra khi cài đặt – Có thể thay đổi sang user khác

• Vì thế, nếu ta dùng 1 user khác để upload/tạo file/folder trên server thì có thể gây xung đột khi nginx/apache không đủ quyền sửa/xoá file/folder – Hoặc không thể upload/git file trên folder không phải của

mình

Page 10: Đôi điều về hệ thống permission trên linux/mac

Giải pháp

• Đổi permission – chmod –R 777 /var/www/html

• Đổi user – chown –R nginx /var/www/html

• Đổi group – chown –R :nginx /var/www/html

• Đổi user và group – chown –R nginx:nginx /var/www/html

Page 11: Đôi điều về hệ thống permission trên linux/mac

Giải pháp

Page 12: Đôi điều về hệ thống permission trên linux/mac

Giải pháp

• Dùng chính user nginx/apache để tương tác và sửa đổi file trên server

• User này không nên có quyền sudo