- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
Đối với những ai đã, đang và sẽ có ý định sử dụng Linux hay quản trị website mà host của nó có thể được đặt trên server của Lunix thì chắc chắn một điều rằng, không ít hơn 1 lần các bạn thường thấy xuất hiện lỗi “You do not have the permission to modify this file” khi muốn chỉnh sửa hoặc xóa đi một file nào đó. Và khi đó bạn phải hỏi chúa Google xem lỗi đó sửa như thế nào, cách khắc phục ra sao phải không nào? Google sẽ cho ra các kết quả kiểu như yêu cầu bạn nên “setting file permission” thành “775” hoặc “777”. Vậy chính xác Chmod là gì và Chmod 777 là gì?
Trong hệ điều hành Unix/Linux, Chmod là lệnh được sử dụng để thay đổi quyền truy cập của người dùng tới file/folder.
Trong server hệ thống Linux luôn có đi kèm với cơ chế kiểm soát file, điều này để giúp xác định xem người dùng nào được phép truy cập vào một file hoặc folder cụ thể, rồi sau khi truy cập thì họ có thể làm gì với nó (đọc, chỉnh sửa, chỉ đọc).
Cơ chế kiểm soát file/folder trong Linux được chia làm 2 phần: Classes và Permission.
Classes dùng để xác định xem ai có thể truy cập vào file, Permission dùng để xác định những hành động mà người dùng có thể làm với file đó.
Trong đó thì lại được chia ra làm những nhóm nhỏ hơn. Có 3 loại Classes: Owner, Group và Others
Còn đối với Permission, cũng có 3 loại permission bạn có thể thực hiện đối với file/folder: read, write hoặc execute
Khi kết hợp 2 phần Classes với Permissions, chúng ta có thể kiểm soát hoàn toàn việc ai có thể truy cập vào file và những hành động họ có thể làm một cách chắc chắn.
Ví dụ, Owner có tất cả các permissions (read, write, execute) để truy cập file. Bạn sẽ được cấp quyền truy cập cho những người dùng khác. Trong trường hợp bạn không phải là owner của file/folder đó thì bạn cần thay đổi quyền sở hữu của file/folder đó thành tên bạn, hoặc thay đổi permission của Group của bạn.
Cùng tìm hiểu về ý nghĩa của con số 777, tại sao bạn thấy lại chỉ có đến 7 mà không thêm 8 hay 9 nhé
Trong mọi file/folder ở Linux thì đều chứa 8bits dữ liệu lưu quyền truy cập. Chúng được để ở dạng nhị phân cơ bản, ví dụ như là “000” thì ý nghĩa của nó là bạn không không có bất cứ quyền truy cập nào.
Con số là để máy tính có thể hiểu được lệnh
Nhìn chung thì tóm gọn đơn giản lại:
Sau đó, dựa vào quy định thiết lập này để bạn tạo permissions đối với file/folder mà bạn muốn, bạn chỉ cần cộng thêm số thập phân tương ứng với permission đó là được.
Ví dụ: bạn muốn thiết lập permission là read, write và execute sẽ là 4(r) + 2(w) + 1(x) = 7; với read và execute, sẽ là 4(r) + 1(x) = 5
Kết luận: bạn chỉ có các permission mang giá trị từ 0 – 7 chứ không thể có 8 hay 9 nhé. Tổng quát quy định về giá trị BKhost cung cấp đến bạn:
Vậy thì Chmod 777 là gì ở đây thì bạn có thể giải thích được rồi phải không nào? Mục đích của lệnh này là:
Chú ý: lấy ví dụ ngay từ số 777, mỗi vị trí của số 7 ứng với một phần của Classes như BKhost đã giới thiệu ở phần trên nhé. Và mỗi giá trị cấu tạo nên số 7 thì sẽ ứng với các Permission
Như vậy 777 có nghĩa là tất cả users trong hệ thống có full permissions: read, write và execute.
Tương tự lệnh Chmod 755 là gì?
Như vậy Chmod 775 có nghĩa Owner có toàn quyền trong khi chỉ cho phép Group và các người dùng khác chỉ được đọc và run file
Áp dụng vào thực tế khi bạn sử dụng lệnh Chmod thì trong Linux có 2 cách để bạn có thể dễ dàng thay đổi quyền truy cập cho files/folders theo câu lệnh 2 cấu trúc khác nhau như sau
Cấu trúc: chmod “number” “filename”
Ví dụ: Chmod 777 Bkhost
Câu lệnh đó mang ý nghĩa là bạn thiết lập full permission cho cả Owner, Group và Others đối với file có tên là Bkhost
Cấu trúc: chmode “option” “filename”
Bảng quy định “option” trong Symbolic mode
Điều này hỗ trợ cũng như giúp bạn được phép sử dụng hay kế thừa lại các quyền truy cập trước đó
Ví dụ: thêm quyền write và execute cho group tương đương “chmod g+wx bkhost”; xóa quyền execute đối với group “chmod g-x bkhost”
Câu lệnh 644 thường được dùng khi muốn cho phép chủ sở hữu – owner có thể truy cập và sửa đổi file theo cách họ muốn, trong khi những người dùng khác (group và others) chỉ có quyền truy cập mà không thể sửa đổi, cùng với đó là không cho phép ai có thể execute file ngay cả owner. Đây là câu lệnh lý tưởng cho những file có thể truy cập công khai, giúp duy trì được cả bảo mật và sự linh hoạt trong truy cập.
Câu lệnh Chmod 555 có nghĩa là file không thể bị sửa đổi bởi bất kỳ ai, ngoại trừ superuser (siêu người dùng) của hệ thống. Quyền này ít được sử dụng như 644, nhưng bạn nên biết đến câu lệnh quan trọng này vì việc cài đặt quyền chỉ đọc ngăn ngừa các thay đổi ngẫu nhiên hoặc giả mạo
BKHOST vừa giới thiệu tới bạn những thông tin liên quan đến lệnh chmod trong linux. Hãy nhớ đón đọc những bài viết khác trên blog của BKHOST nhé. Ngoài ra để có thể tìm hiểu thêm về hosting Linux thì bạn cũng có thể liên hệ tới BKHOST để được tư vấn.
Thuê Máy Chủ Vật Lý tại BKHOST
Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay: