Trong hệ điều hành Linux, quyền truy cập tệp và thư mục là yếu tố quan trọng giúp bảo mật hệ thống và kiểm soát tài nguyên. Lệnh chmod
cho phép quản trị viên và người dùng thay đổi quyền truy cập một cách linh hoạt, giúp quản lý hiệu quả dữ liệu trên máy chủ hoặc máy cá nhân.
Bài viết này sẽ hướng dẫn chi tiết cách sử dụng chmod
, phân quyền trong Linux, cũng như các mẹo hữu ích giúp bạn quản lý tệp hiệu quả hơn.

1. Tổng quan về quyền truy cập tệp Trong Linux
Trong Linux, mỗi tệp và thư mục đều có ba loại quyền cơ bản:
-
Read (r - đọc): Xem nội dung tệp hoặc danh sách thư mục.
-
Write (w - ghi): Chỉnh sửa nội dung tệp hoặc thêm/xóa tệp trong thư mục.
-
Execute (x - thực thi): Chạy tệp dưới dạng chương trình hoặc truy cập thư mục.
Các quyền này áp dụng cho ba nhóm người dùng:
-
Owner (chủ sở hữu): Người tạo tệp/thư mục.
-
Group (nhóm): Các thành viên trong nhóm sở hữu tệp.
-
Others (người khác): Những người còn lại trên hệ thống.
Kiểm tra quyền tệp bằng lệnh:
ls -l filename
Kết quả hiển thị như sau:
-rwxr-xr-- 1 user group 1234 Feb 14 12:34 filename
-
rwx
(owner - chủ sở hữu): Có quyền đọc, ghi và thực thi.
-
r-x
(group - nhóm): Có quyền đọc và thực thi.
-
r--
(others - người khác): Chỉ có quyền đọc.
2. Cách sử dụng lệnh chmod
Lệnh chmod
có thể được sử dụng theo hai cách: ký hiệu (symbolic mode) và số (numeric mode).
2.1 Sử dụng chmod
theo ký hiệu
Cú pháp:
chmod [who][operator][permission] file
-
[who]
: u
(chủ sở hữu), g
(nhóm), o
(người khác), a
(tất cả)
-
[operator]
: +
(thêm quyền), -
(xóa quyền), =
(gán quyền mới)
-
[permission]
: r
, w
, x
Ví dụ:
chmod u+x script.sh # Thêm quyền thực thi cho chủ sở hữu
chmod g-w file.txt # Loại bỏ quyền ghi của nhóm
chmod o=r file.txt # Đặt quyền chỉ đọc cho người khác
2.2 Sử dụng chmod
theo số
Các quyền được mã hóa số:
-
Read = 4
-
Write = 2
-
Execute = 1
Khi kết hợp, chúng tạo thành giá trị quyền truy cập:
chmod 755 file.sh # Chủ sở hữu có quyền đọc, ghi, thực thi; nhóm và người khác chỉ có quyền đọc và thực thi
chmod 644 file.txt # Chủ sở hữu có quyền đọc, ghi; nhóm và người khác chỉ có quyền đọc
3. Quản lý User & Group trong Linux
3.1 Quản lý người dùng
Thêm người dùng mới:
sudo adduser newuser
Xóa người dùng:
sudo userdel -r newuser
3.2 Quản lý nhóm
Thêm nhóm mới:
sudo groupadd devteam
Thêm người dùng vào nhóm:
sudo usermod -aG devteam newuser
Xóa nhóm:
sudo groupdel devteam
4. Kích hoạt quyền sudo
Để cấp quyền sudo
cho một tài khoản:
sudo usermod -aG sudo username
Kiểm tra quyền sudo:
sudo -l
5. Các tình huống thực tế & câu hỏi thường gặp
5.1 Lệnh chmod 777
có an toàn không?
chmod 777
cấp toàn quyền cho tất cả người dùng, có thể gây rủi ro bảo mật nếu áp dụng trên tệp quan trọng. Chỉ sử dụng khi thực sự cần thiết.
5.2 Làm thế nào để kiểm tra quyền tệp?
Dùng lệnh:
ls -l filename
5.3 Sự khác biệt giữa chmod 755
và chmod 644
là gì?
-
755
: Chủ sở hữu có toàn quyền, nhóm và người khác chỉ có quyền đọc và thực thi.
-
644
: Chủ sở hữu có quyền đọc và ghi, nhóm và người khác chỉ có quyền đọc.
5.4 Làm thế nào để cấp quyền thực thi cho tất cả người dùng?
Dùng lệnh:
chmod a+x script.sh
5.5 Thay đổi quyền cho tất cả tệp trong thư mục?
Dùng tùy chọn -R
:
chmod -R 755 /path/to/directory
Kết luận
Lệnh chmod
là công cụ mạnh mẽ giúp bạn quản lý quyền truy cập trong Linux. Việc hiểu rõ cách sử dụng chmod
sẽ giúp bạn kiểm soát tốt hơn hệ thống của mình, từ việc phân quyền tệp cá nhân đến quản lý quyền trên máy chủ. Hy vọng bài viết này hữu ích với bạn.