Lệnh chmod trong linux với các ví dụ dễ hiểu

Lệnh chmod trong Linux cho phép bạn thay đổi quyền truy cập của tệp và thư mục, kiểm soát ai có thể đọc, ghi hoặc thực thi chúng. Sử dụng lệnh chmod trong linux một cách cẩn thận để bảo vệ dữ liệu và đảm bảo an ninh hệ thống. Bạn có thể dùng số hoặc ký tự để chỉ định quyền, giúp việc quản lý trở nên linh hoạt hơn.

Lệnh chmod trong linux là gì?

Lệnh chmod trong Linux là một command chmod in linux rất quan trọng, cho phép bạn thay đổi quyền truy cập của tệp và thư mục. Nó giúp bạn kiểm soát ai có thể đọc, ghi hoặc thực thi các tệp tin trên hệ thống của bạn một cách dễ dàng. Sử dụng chmod, bạn có thể bảo vệ dữ liệu quan trọng bằng cách hạn chế quyền truy cập chỉ cho những người cần thiết. Ví dụ, bạn có thể cho phép chủ sở hữu đọc và ghi, nhưng chỉ cho phép người khác đọc tệp. Việc hiểu và sử dụng chmod thành thạo là kỹ năng cần thiết cho bất kỳ người dùng Linux nào.

Tìm hiểu về Quyền Truy Cập File trong Linux

Trong bước này, chúng ta sẽ khám phá các khái niệm cơ bản về quyền truy cập file trong hệ điều hành Linux.

Quyền truy cập file xác định ai có thể truy cập, sửa đổi hoặc thực thi một file hoặc thư mục.

Trong Linux, mỗi file và thư mục có ba loại quyền chính:

  1. Owner (Chủ sở hữu): Người dùng đã tạo file hoặc thư mục đó.
  2. Group (Nhóm): Nhóm mà chủ sở hữu thuộc về.
  3. Others (Những người khác): Tất cả người dùng khác trên hệ thống.

Mỗi loại quyền này có ba kiểu quyền truy cập:

  1. Read (r) - Đọc: Cho phép người dùng xem nội dung của file hoặc liệt kê các file trong thư mục.
  2. Write (w) - Ghi: Cho phép người dùng sửa đổi nội dung của file hoặc tạo/xóa file trong thư mục.
  3. Execute (x) - Thực thi: Cho phép người dùng chạy file như một chương trình hoặc truy cập nội dung thư mục.

Bạn có thể xem quyền của một file hoặc thư mục bằng lệnh ls -l. Kết quả sẽ hiển thị quyền theo định dạng sau:

-rw-r--r-- 1 labex labex 0 Apr 24 12:34 example.txt

10 ký tự đầu tiên đại diện cho quyền của file:

  • Ký tự đầu tiên cho biết loại file (- cho file thông thường, d cho thư mục).
  • 3 ký tự tiếp theo đại diện cho quyền của chủ sở hữu.
  • 3 ký tự tiếp theo đại diện cho quyền của nhóm.
  • 3 ký tự cuối cùng đại diện cho quyền của những người khác.

Trong ví dụ trên, file example.txt có các quyền sau:

  • Chủ sở hữu (labex) có quyền đọc và ghi.
  • Nhóm (labex) có quyền đọc.
  • Những người khác có quyền đọc.

Bạn cũng có thể sử dụng lệnh stat để xem thông tin chi tiết hơn về quyền của file:

$ stat example.txt
  File: example.txt
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d	Inode: 131075      Links: 1
Access: (0644/-rw-r--r--)  Uid: (1000/labex)   Gid: (1000/labex)
Access: 2023-04-24 12:34:56.123456789 +0000
Modify: 2023-04-24 12:34:56.123456789 +0000
Change: 2023-04-24 12:34:56.123456789 +0000
 Birth: -

Lệnh này cung cấp thêm chi tiết về file, ví dụ như User ID (UID) và Group ID (GID) của chủ sở hữu.

Ngoài ra, lệnh còn cung cấp thời gian truy cập, sửa đổi và thay đổi file.

Hiểu rõ về quyền truy cập file là rất quan trọng để quản lý quyền truy cập vào file và thư mục trong hệ thống Linux.

Thay đổi quyền truy cập file bằng lệnh chmod

Trong bước này, chúng ta sẽ tìm hiểu cách dùng lệnh chmod để thay đổi quyền của file và thư mục trong Linux.

Lệnh chmod cho phép bạn sửa đổi quyền đọc, ghi và thực thi cho chủ sở hữu, nhóm và những người khác. Cú pháp của lệnh chmod như sau:

chmod [options] mode file

Ở đây, mode đại diện cho các quyền mới mà bạn muốn thiết lập. Bạn có thể dùng chế độ symbolic hoặc numeric để thay đổi quyền.

Chế độ Symbolic:

  • u đại diện cho chủ sở hữu (user).
  • g đại diện cho nhóm (group).
  • o đại diện cho những người khác (others).
  • a đại diện cho tất cả (chủ sở hữu, nhóm và những người khác).
  • + thêm các quyền được chỉ định.
  • - xóa các quyền được chỉ định.
  • = thiết lập các quyền được chỉ định.

Ví dụ, để cấp cho chủ sở hữu quyền đọc và ghi, nhóm quyền đọc, và xóa tất cả quyền cho những người khác, bạn sẽ dùng:

chmod u=rw,g=r,o-rwx example.txt

Chế độ Numeric:

  • Mỗi quyền (đọc, ghi, thực thi) được gán một số: 4 cho đọc, 2 cho ghi và 1 cho thực thi.
  • Quyền cho chủ sở hữu, nhóm và những người khác được biểu diễn bằng một số có 3 chữ số.

Ví dụ, để thiết lập quyền thành rw-r--r-- (chủ sở hữu có quyền đọc và ghi, nhóm có quyền đọc, những người khác có quyền đọc), bạn sẽ dùng:

chmod 644 example.txt

Hãy thử thay đổi quyền của một file bằng cả chế độ symbolic và numeric:

## Create a new file
touch example.txt

## Change permissions using symbolic mode
chmod u=rw,g=r,o-rwx example.txt
ls -l example.txt
## Output: -rw-r-----

## Change permissions using numeric mode
chmod 644 example.txt
ls -l example.txt
## Output: -rw-r--r--

Trong ví dụ trên, đầu tiên chúng ta tạo một file mới example.txt, sau đó dùng lệnh chmod để thay đổi quyền. Chúng ta xác minh các thay đổi bằng lệnh ls -l.

Thay đổi quyền truy cập thư mục và tập tin một cách đệ quy

Trong bước này, chúng ta sẽ học cách dùng lệnh chmod để thay đổi quyền truy cập thư mục và các tập tin bên trong nó.

Tùy chọn -R (recursive) của lệnh chmod cho phép bạn áp dụng quyền truy cập cho thư mục, thư mục con và tập tin.

Hãy tạo một cấu trúc thư mục và thay đổi quyền truy cập một cách đệ quy nhé:

## Create a directory structure
mkdir -p ~/project/documents/reports

## Change permissions recursively
chmod -R u=rwx,g=rx,o=r ~/project/documents

## Verify the permissions
ls -l ~/project
## Output:
## drwxrwxr-x 3 labex labex 4096 Apr 24 12:34 documents
ls -l ~/project/documents
## Output:
## drwxrwxr-x 2 labex labex 4096 Apr 24 12:34 reports

Trong ví dụ trên, ta tạo cấu trúc thư mục với thư mục cha documents và thư mục con reports.

Sau đó, ta dùng lệnh chmod -R để thiết lập quyền truy cập một cách đệ quy cho các thư mục này.

  • Chủ sở hữu (labex) có quyền đọc, ghi và thực thi (read, write, execute).
  • Nhóm (labex) có quyền đọc và thực thi (read, execute).
  • Những người khác chỉ có quyền đọc (read-only).

Ta kiểm tra quyền truy cập bằng lệnh ls -l, thấy rằng quyền đã được áp dụng cho cả thư mục cha và con.

Tùy chọn recursive đặc biệt hữu ích khi bạn cần thay đổi quyền của cả một cây thư mục lớn.

Nó đảm bảo rằng tất cả các tập tin và thư mục con trong cây đều có quyền truy cập như mong muốn.

Kết luận cho linux chmod command

Vậy là chúng ta đã cùng nhau khám phá lệnh chmod, một công cụ mạnh mẽ để quản lý quyền truy cập trong Linux. Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách thức hoạt động và ứng dụng của nó trong thực tế. Việc nắm vững linux chmod command sẽ giúp bạn bảo vệ dữ liệu và hệ thống của mình một cách hiệu quả hơn. Đừng ngần ngại thử nghiệm các ví dụ đã nêu để làm quen với các tùy chọn khác nhau. Hãy nhớ rằng, việc cấp quyền một cách cẩn thận là rất quan trọng để đảm bảo an ninh. Chúc bạn thành công trên hành trình khám phá thế giới Linux đầy thú vị! Hãy tiếp tục tìm hiểu và thực hành để trở thành một người dùng Linux thành thạo nhé.

Last Updated : 15/10/2025