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

Lệnh umask trong Linux giúp bạn kiểm soát quyền mặc định cho các file và thư mục mới tạo. Nó hoạt động bằng cách "mặt nạ" các quyền, loại bỏ chúng khỏi quyền mặc định (thường là 666 cho file và 777 cho thư mục). Giá trị umask càng nhỏ, quyền mặc định càng "mở" hơn, cho phép nhiều người dùng truy cập.

Lệnh umask trong linux là gì?

Lệnh command umask in linux là một công cụ quan trọng để kiểm soát quyền truy cập mặc định cho các file và thư mục mới được tạo ra. Nó hoạt động bằng cách thiết lập một "mặt nạ" (mask) để loại bỏ các quyền mặc định mà hệ thống thường gán cho file mới. Giá trị umask là một số bát phân, quy định các quyền sẽ bị loại bỏ khỏi quyền mặc định (thường là 666 cho file và 777 cho thư mục). Ví dụ, umask 022 sẽ loại bỏ quyền ghi cho nhóm và người khác, làm cho file mới có quyền 644 và thư mục mới có quyền 755. Việc sử dụng command umask in linux giúp tăng cường bảo mật bằng cách hạn chế quyền truy cập không cần thiết ngay từ đầu.

Tìm hiểu về lệnh umask

Trong bước này, chúng ta sẽ khám phá lệnh umask trong Linux, dùng để thiết lập quyền mặc định cho file và thư mục mới.

Lệnh umask chỉ định "file mode creation mask", nó quyết định quyền mặc định cho file và thư mục mới tạo ra.

Giá trị umask là một số bát phân 4 chữ số, đại diện cho các quyền KHÔNG được cấp.

Hãy bắt đầu bằng cách kiểm tra giá trị umask hiện tại của bạn:

umask

Ví dụ về kết quả:

0022

Giá trị umask0022 có nghĩa là quyền mặc định cho file mới là 0644 (rw-r--r--) và thư mục mới là 0755 (rwxr-xr-x).

Giá trị umask được tính bằng cách trừ giá trị chỉ định từ quyền mặc định (0777 cho file và 0755 cho thư mục).

Ví dụ, với umask0022, quyền mặc định sẽ là:

  • Files: 0777 - 0022 = 0755 (rw-r--r--)
  • Directories: 0755 - 0022 = 0733 (rwxr-xr--)

Bạn có thể thay đổi giá trị umask bằng lệnh sau:

umask 0002

Lệnh này đặt umask thành 0002, nghĩa là quyền mặc định cho file mới là 0775 (rw-rwxr-x) và thư mục mới là 0775 (rwxrwxr-x).

Thay đổi Quyền Tập tin và Thư mục với umask

Trong bước này, chúng ta sẽ tìm hiểu cách thay đổi quyền mặc định của tập tin và thư mục bằng lệnh umask.

Đầu tiên, hãy tạo một tập tin và thư mục mới để quan sát tác động của umask:

touch ~/project/new_file.txt
mkdir ~/project/new_directory

Bây giờ, hãy kiểm tra quyền của tập tin và thư mục vừa tạo:

ls -l ~/project

Ví dụ về kết quả:

-rw-r--r-- 1 labex labex     0 Apr 12 12:34 new_file.txt
drwxr-xr-x 2 labex labex  4096 Apr 12 12:34 new_directory

Như bạn thấy, quyền mặc định cho tập tin mới là 0644 (rw-r--r--) và thư mục mới là 0755 (rwxr-xr-x), tương ứng với giá trị umask hiện tại là 0022.

Bây giờ, hãy thay đổi giá trị umask thành 0002:

umask 0002

Hãy tạo lại một tập tin và thư mục mới:

touch ~/project/another_file.txt
mkdir ~/project/another_directory

Và kiểm tra quyền:

ls -l ~/project

Ví dụ về kết quả:

-rw-rw-r-- 1 labex labex     0 Apr 12 12:35 another_file.txt
drwxrwxr-x 2 labex labex  4096 Apr 12 12:35 another_directory

Như bạn thấy, quyền mặc định cho tập tin mới là 0774 (rw-rw-r--) và thư mục mới là 0775 (rwxrwxr-x), tương ứng với giá trị umask0002.

Điều này cho thấy cách bạn có thể sử dụng lệnh umask để thay đổi quyền mặc định cho các tập tin và thư mục mới được tạo.

Áp dụng umask trong các Tình huống Khác nhau

Trong bước này, chúng ta sẽ khám phá cách áp dụng lệnh umask trong các tình huống khác nhau để quản lý quyền truy cập file và thư mục một cách hiệu quả.

Tình huống 1: Bảo mật các File Nhạy cảm

Hãy tưởng tượng bạn có một file nhạy cảm và bạn muốn đảm bảo chỉ chủ sở hữu có quyền đọc và ghi. Bạn có thể đạt được điều này bằng cách đặt giá trị umask hạn chế hơn:

umask 0077
touch ~/project/sensitive_file.txt

Ví dụ về đầu ra:

-rw------- 1 labex labex 0 Apr 12 12:36 sensitive_file.txt

Giá trị umask0077 đảm bảo rằng file mới có quyền là 0700 (rwx------), nghĩa là chỉ chủ sở hữu có quyền đọc và ghi.

Tình huống 2: Cho phép Cộng tác Nhóm

Trong tình huống bạn muốn tạo các file và thư mục mà một nhóm cụ thể có thể truy cập, bạn có thể đặt giá trị umask tương ứng:

umask 0007
mkdir ~/project/shared_directory
touch ~/project/shared_file.txt

Ví dụ về đầu ra:

drwxrwx--- 2 labex labex 4096 Apr 12 12:37 shared_directory
-rw-rw---- 1 labex labex    0 Apr 12 12:37 shared_file.txt

Giá trị umask0007 đảm bảo rằng thư mục mới có quyền là 0770 (rwxrwx---) và file mới có quyền là 0660 (rw-rw----), cho phép các thành viên trong nhóm truy cập và sửa đổi các file và thư mục.

Hãy nhớ rằng, giá trị umask được trừ đi từ các quyền mặc định (0777 cho file và 0755 cho thư mục) để xác định các quyền cuối cùng. Hãy thử nghiệm với các giá trị umask khác nhau để hiểu cách chúng ảnh hưởng đến các quyền mặc định.

Kết luận cho linux umask command

Tóm lại, lệnh umask là một công cụ mạnh mẽ để kiểm soát quyền truy cập mặc định cho các tệp và thư mục mới trong hệ thống Linux của bạn. Việc hiểu và sử dụng đúng cách linux umask command giúp bạn tăng cường bảo mật và quản lý quyền một cách hiệu quả. Hãy nhớ rằng, giá trị umask thực tế là giá trị được trừ đi từ quyền mặc định, không phải là quyền cuối cùng. Thử nghiệm với các giá trị khác nhau để tìm ra cấu hình phù hợp nhất với nhu cầu của bạn, đảm bảo an toàn cho dữ liệu. Đừng ngần ngại tìm hiểu thêm về các tùy chọn nâng cao để khai thác tối đa tiềm năng của umask. Chúc bạn thành công trong việc quản lý quyền truy cập trên hệ thống Linux của mình!

Last Updated : 15/10/2025