Bạn đang cố gắng khắc phục sự cố về quyền với máy chủ web của mình và tìm thấy thông tin trên Internet, nói rằng bạn cần đệ quychmod 777 thư mục web.Trước khi làm điều đó, hãy đảm bảo rằng bạn hiểu những gì sẽ làmchmod -R 777 và tại sao bạn không bao giờ nên đặt quyền thành 777.
Bạn đang xem: Chmod
Bài viết này giải thích mô hình quyền cơ bản của Linux và ý nghĩa của các con số tương ứng với các quyền.
Hiểu quyền đối với tệp Linux
Trong Linux, quyền truy cập vào tệp được hệ điều hành kiểm soát bằng cách sử dụng quyền, thuộc tính và quyền sở hữu tệp.Hiểu mô hình quyền của hệ thống tệp Linux cho phép bạn giới hạn quyền truy cập vào tệp và thư mục chỉ đối với những người dùng và quy trình được ủy quyền và làm cho hệ thống của bạn an toàn hơn.
Mỗi tệp được sở hữu bởi một người dùng và một nhóm cụ thể và được chỉ định quyền truy cập cấp phép cho ba lớp người dùng khác nhau:
Chủ sở hữu tệp.Các thành viên trong nhóm.Những người khác (mọi người khác).Có ba loại quyền đối với tệp áp dụng cho mỗi lớp người dùng và cho phép bạn chỉ định người dùng nào được phép đọc tệp, ghi vào tệp hoặc thực thi tệp.Các thuộc tính quyền giống nhau áp dụng cho cả tệp và thư mục với một ý nghĩa khác:
Quyền đọc.Tệp có thể đọc được.Ví dụ: khi quyền đọc được đặt, người dùng có thể mở tệp trong trình soạn thảo văn bản.Quyền ghi.Tệp có thể được thay đổi hoặc sửa đổi.Quyền thực thi.Tệp có thể được thực thi.Quyền đối với tệp có thể được xem bằng cách sử dụnglslệnh.Đây là một ví dụ:
ls -l filename.txt
Output:
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt|<-><-><->- <------> <--->| | | | | | || | | | | | +-----------> 7. Group| | | | | +-------------------> 6. Owner| | | | +--------------------------> 5. Alternate Access Method| | | +----------------------------> 4. Others Permissions| | +-------------------------------> 3. Group Permissions| +----------------------------------> 2. Owner Permissions+------------------------------------> 1. File Type
Ký tự đầu tiên hiển thị loại tệp.Nó có thể là một tệp thông thường (- ), thư mục (d ), mộtliên kết tượng trưng(l ) hoặc bất kỳ loại tệp đặc biệt nào khác.
Chín ký tự tiếp theo đại diện cho quyền đối với tệp, ba ký tự ba mỗi ký tự.Bộ ba đầu tiên hiển thị quyền của chủ sở hữu, quyền thứ hai của một nhóm và bộ ba cuối cùng hiển thị quyền của mọi người khác.
Permission number
Quyền đối với tệp có thể được biểu diễn ở định dạng số hoặc ký hiệu.Trong bài viết này, chúng ta sẽ tập trung vào định dạng số.
Số cho phép có thể bao gồm ba hoặc bốn chữ số, từ 0 đến 7.
Khi số có 3 chữ số được sử dụng, chữ số đầu tiên đại diện cho quyền của chủ sở hữu tệp, chữ số thứ hai cho nhóm của tệp và chữ số cuối cùng cho tất cả những người dùng khác.
Các quyền ghi, đọc và thực thi có giá trị số sau:
r(đọc) = 4w(ghi) = 2x(thực hiện) = 1không có quyền = 0Số quyền của một lớp người dùng cụ thể là tổng giá trị của các quyền cho lớp đó.
Mỗi chữ số của số quyền có thể là tổng của 4, 2, 1 và 0:
0 (0 + 0 + 0) – Không được phép.1 (0 + 0 + 1) – Chỉ thực thi quyền.2 (0 + 2 + 0) – Chỉ phép viết.3 (0 + 2 + 1) – Viết và thực thi quyền.4 (4 + 0 + 0) – Chỉ quyền đọc.5 (4 + 0 + 1) – Đọc và thực hiện quyền.6 (4 + 2 + 0) – Quyền đọc và ghi.7 (4 + 2 + 1) – Quyền đọc, viết và thực thi.Ví dụ: nếu số quyền được đặt thành 750, điều đó có nghĩa là chủ sở hữu tệp có quyền đọc, ghi và thực thi, nhóm của tệp có quyền đọc và thực thi và những người dùng khác không có quyền:
Chủ sở hữu: rwx = 4 + 2 + 1 = 7Nhóm: rx = 4 + 0 + 1 = 5Khác: rx = 0 + 0 + 0 = 0Khi sử dụng số có 4 chữ số, chữ số đầu tiên có ý nghĩa như sau:
setuid = 4setgid = 2dính = 1không có thay đổi = 0Ba chữ số tiếp theo có ý nghĩa tương tự như khi sử dụng số có 3 chữ số.Nếu chữ số đầu tiên là 0, nó có thể được bỏ qua và chế độ có thể được biểu diễn bằng 3 chữ số.Chế độ số0755cũng giống như755.
Để xem các quyền của tệp trong ký hiệu số (bát phân), hãy sử dụngstatlệnh:
stat -c "%a" filename
Output:
644
Không bao giờ sử dụng chmod 777
Đặt 777 quyền cho một tệp hoặc thư mục có nghĩa là tất cả người dùng đều có thể đọc, ghi và thực thi được và có thể gây ra rủi ro bảo mật rất lớn.Ví dụ: nếu bạn thay đổi đệ quy quyền của tất cả các tệp và thư mục con trong thư mục/var/www thành777, bất kỳ người dùng nào trên hệ thống sẽ có thể tạo, xóa hoặc sửa đổi các tệp trong thư mục đó.
Nếu bạn gặp sự cố về quyền với máy chủ web của mình, thay vì đặt quyền một cách đệ quy777, hãy thay đổi quyền sở hữu tệp cho người dùng đang chạy ứng dụng và đặt quyền của tệp644 và quyền của thư mục thành755.
Quyền sở hữu tệp có thể được thay đổi bằng cách sử dụngchownlệnh và quyền vớichmodlệnh.
Xem thêm: Tìm Hiểu Về Flow Meter Là Gì? Có Bao Nhiêu Loại Flow Meter? (2023)
Giả sử bạn có một ứng dụng PHP trên máy chủ của mình đang chạy với tư cách người dùng “hocdevops”.Để đặt các quyền chính xác, bạn sẽ chạy:
chown -R hocdevops: /var/wwwfind /var/www -type d -exec chmod 755 {} \;find /var/www -type f -exec chmod 644 {} \;Chỉ root, chủ sở hữu tệp hoặc người dùng có đặc quyền sudo mới có thể thay đổi quyền của tệp.Hãy hết sức cẩn thận khi sử dụngchmod, đặc biệt là khi thay đổi đệ quy các quyền.
Phần kết luận
Nếu bạn đang quản lý một hệ thống Linux, điều quan trọng là phải biết các quyền của Linux hoạt động như thế nào.
Bạn không bao giờ nên đặt các tệp và quyền thư mục777 (rwxrwxrwx ).777 có nghĩa là bất kỳ ai cũng có thể làm bất cứ điều gì với các tệp đó.
Linux đang là lựa chọn của nhiều doanh nghiệp nhờ chi phí đầu tư thấp, khả năng mở rộng và phát triển lớn. Song, Linux lại không hề lý tưởng với người dùng không có kinh nghiệm về quản trị mạng. Để giúp các bạn sử dụng hiệu quả và dễ dàng hơn, hôm nay Nhân Hòa sẽ chia sẻ đến bạn một trong những phương pháp bảo mật website - Chmod (phân quyền người dùng) qua câu lệnh Chmod 777 là gì? và cách thiết lập phân quyền trong Linux
Chmod 777 là một lệnh trong Chmod.
Cấu trúc của mọi file hoặc thư mục trong Linux đều chứa 8bits dữ liệu lưu quyền truy cập. Được tồn tại dưới dạng nhị phân cơ bản, mỗi con số đều có ý nghĩa cấp phép hành vi bạn được thực hiện trong file/folder đó.
Dưới đây là cách thể hiện lệnh của các con số
Khi thiết lập quyền Read: 4-bit sẽ được thêm vào dữ liệu, tạo thành “100” (dạng nhị phân) hoặc “4” dạng thập phân.
Khi bạn muốn thiết lập quyền Write: 2-bit sẽ được vào dữ liệu, tạo thành “010” (nhị phân) hoặc “2” dạng thập phân.
Khi bạn thiết lập quyền Execute: sẽ thêm 1-bit vào dữ liệu, tạo thành “001” hoặc “1” dạng thập phân.
Vậy, nếu đổi sang dạng thập phân ta có các permissions mang giá trị từ 0-7 với các ý nghĩa như sau:
0: không có bất cứ quyền truy cập nào
1: execute
2: write
3: write và execute
4: read
5: read và execute
6: read và write
7: read, write và execute

Sau đó, dựa vào quy định thiết lập này, người quản lý thiết lập permissions đối với file/folder mà bạn chọn, bạn chỉ cần cộng thêm số thập phân tương ứng với permission đó là được.
Với công thức trên, chúng ta hiểu lệnh Chmod 777 có nghĩa như sau:
- 7 đầu tiên: dùng để cấp quyền cho Owner
- 7 thứ 2: để cấp quyền cho Group
- 7 cuối cùng: để cấp quyền cho Others
Có nghĩa là toàn bộ người dùng và các nhóm đối tượng đều có quyền đọc, chỉnh sửa và thực thi đối với nội dung trong file và thư mục.
Tuy nhiên, trên thực tế, Nhân Hòa không khuyên bạn cấp quyền này, vì bất cứ người truy cập nào cũng có thể thay đổi, sửa, thêm và xóa dữ liệu của hệ thống. Đem đến các rủi ro lớn, đặc biệt là với các dữ liệu trong máy chủ web.
Muốn hiểu kỹ Chmod 777 là gì bạn cần biết cả về các quyền Chmod trên Linux
Chmod (Change Mod) là việc thiết lập quyền truy cập file/folder trên hệ điều hành Linux, cho phép 1 user được truy cập hoặc không được truy cập vào file/folder nào, các hành vi được thực hiện sau khi truy cập vào.
Lệnh Chmod hiển thị dưới dạng: chmod
Các quyền mà Chmod được điều chỉnh bao gồm
- “Read”: viết tắt là “r”, thể hiện bằng số 4. Quyền này cho phép bạn xem các nội dung hiển thị trên file/folder mà không thể thực hiện chỉnh sửa, thêm, xóa hay thay đổi bất kỳ nội dung nào.
- “Write” (Ghi / Chỉnh sửa): viết tắt là “w”, được thể hiện bằng số 2. Về hành vi mà W cho phép sẽ rộng hơn R, người sử dụng được xem nội dung, được chỉnh sửa, thêm hoặc xóa bất cứ nội dung nào trong file/folder. Kể cả xóa
- “Execute” (Thực thi): được viết tắt là “x”, và biểu diễn bằng số 1. Cho phép bạn run một file bất kỳ. Để hạn chế việc thay đổi thư mục hiện tại trong folder khi thực hiện lệnh X, bạn có thể sử dụng Execute.

Ngoài ra bạn còn có thể sử dụng chmod để phân quyền theo nhóm đối tượng:
“Owner”: là người tạo ra các file và thư mục, còn được biết đến với cách gọi chủ sở hữu.Thư mục home trong hệ điều hành Linux là bao gồm các dữ liệu được tạo nên bởi chủ sở hữu.
“Group”: dùng để chỉ nhóm người dùng có chung permission.
“Public / Others/ Everybody”: là một nhóm người dùng có cùng quyền đối với file/thư mục
Để thực hiện được các công việc kiểm soát quyền của mình, Chmod sử dụng các câu lệnh với các chia sẻ quyền khác nhau, bao gồm lệnh 755, 777,644, 555,...
Cách triển khai lệnh Chmod 777 trên hệ điều hành Linux
Sau khi hiểu rõ Chmod 777 là gì, Nhân Hòa sẽ hướng dẫn bạn triển khai lệnh Chmod 777 như sau:
Chmod 777 trong Cpanel
Bước 1: Đăng nhập vào trang quản trị c
Panel để thực hiện cài đặt lại
Bước 2: chọn “File Manager”. Sau đó Nhấn vào cột ” Perms ” phía tay phải để thay đổi các thông số của file hoặc thư mục cần thay đổi.
Bước 3: Trong trường hợp bạn muốn thay đổi quyền truy cập của toàn bộ , bạn chọn” Select all ” , click chuột phải chọn ” Change Permissions ” và tùy chỉnh.
Chmod 777 qua giao thức FTP
Cách này được áp dụng với các phần mềm quản lý file hoạt động trên giao thức FTP như Filezilla
Bước 1: Đăng nhập vào trang quản trị và chọn ” Quickconnect ”
Bước 2: Click chuột phải vào file hoặc thư mục bạn muốn set quyền và chọn ” File permissions ”. Sau đó tiến hành điều chỉnh thông số thành 777
Như vậy, bạn có thể thay đổi và thiết lập Chmod một cách dễ dàng và nhanh chóng.
Kết luận
Với những chia sẻ trên của Nhân Hòa, tôi tin bạn đã hiểu rõ Chmod 777 là gì và các lưu ý khi sử dụng câu lệnh này.
Tuy nhiên, với một hệ điều hành mã nguồn mở như Linux, nếu bạn không phải người có nhiều kiến thức về code, thì việc quản lý và thiết lập sẽ trở lên khó khăn và không hiệu quả khi bạn không thể áp dụng được những ưu điểm vượt trội của hệ điều hành mở. Đây là lý do mọi giải pháp mạng của Nhân Hòa phát triển trên Linux đều kèm theo dịch vụ quản lý từ xa và hỗ trợ sửa lỗi, nâng cấp 24/7. Ngoài ra, khi sử dụng các sản phẩm tại Nhân Hòa bạn hoàn toàn có thể yên tâm về chất lượng và hạ tầng. Khi toàn bộ các giải pháp mạng đều đạt tiêu chuẩn quốc tế và được thiết lập, quản lý bởi đội ngũ kỹ thuật viên chuyên nghiệp, nhiều kinh nghiệm

Hiện nay, Nhân Hòa đang áp dụng các chính sách tri ân khách hàng và giảm giá trên tất cả các dịch vụ tên miền, vps, hosting, wordpress hosting, ssl, email theo tên miền... giúp bạn tiết kiệm chi phí tối đa
+ Tổng đài: 1900 6680
+ Chỉ đường: https://g.page/xemlienminh360.netcom
+ Chương trình khuyến mãi mới nhất: https://xemlienminh360.net/khuyen-mai.html