Lệnh umask trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá lệnh umask của Linux, được sử dụng để thiết lập các quyền mặc định cho các tệp và thư mục mới được tạo. Chúng ta sẽ bắt đầu bằng cách hiểu lệnh umask và cách nó hoạt động, sau đó tìm hiểu cách sửa đổi quyền của tệp và thư mục bằng umask trong các tình huống khác nhau. Lab này bao gồm các khía cạnh thiết yếu của việc quản lý người dùng và quyền trong môi trường Linux.

Lab sẽ hướng dẫn bạn quy trình kiểm tra giá trị umask hiện tại, thay đổi umask để đặt các quyền mặc định khác nhau và quan sát các tác động lên các tệp và thư mục mới được tạo. Đến cuối lab này, bạn sẽ hiểu rõ cách sử dụng lệnh umask để quản lý quyền của tệp và thư mục một cách hiệu quả.

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

Trong bước này, chúng ta sẽ khám phá lệnh umask của Linux, được sử dụng để đặt các quyền mặc định cho các tệp và thư mục mới được tạo.

Lệnh umask chỉ định mặt nạ tạo chế độ tệp, xác định các quyền mặc định cho các tệp và thư mục mới. Giá trị umask là một số bát phân 4 chữ số, biểu thị các quyền không nên được cấp.

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

umask

Ví dụ về đầu ra:

0022

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

Giá trị umask được tính bằng cách trừ giá trị được chỉ định từ các quyền mặc định (0777 cho tệp và 0755 cho thư mục). Ví dụ: với umask0022, các quyền mặc định sẽ là:

  • Tệp: 0777 - 0022 = 0755 (rw-r--r--)
  • Thư mục: 0755 - 0022 = 0733 (rwxr-xr--)

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

umask 0002

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

Sửa đổi quyền của tệp và thư mục bằng umask

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

Trước tiên, hãy tạo một tệp 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 và thư mục mới được tạo:

ls -l ~/project

Ví dụ về đầu ra:

-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 có thể thấy, các quyền mặc định cho tệp mới là 0644 (rw-r--r--) và các quyền mặc định cho 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 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ề đầu ra:

-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 có thể thấy, các quyền mặc định cho tệp mới là 0774 (rw-rw-r--) và các quyền mặc định cho thư mục mới là 0775 (rwxrwxr-x), tương ứng với giá trị umask0002.

Điều này chứng minh cách bạn có thể sử dụng lệnh umask để sửa đổi các quyền mặc định cho các tệp 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 của tệp và thư mục một cách hiệu quả.

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

Hãy tưởng tượng bạn có một tệp nhạy cảm mà 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 tệp mới có quyền là 0700 (rwx------), có 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 một tình huống mà bạn muốn tạo các tệp và thư mục có thể truy cập được cho một nhóm cụ thể, bạn có thể đặt giá trị umask cho phù hợp:

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à tệp mới có quyền là 0660 (rw-rw----), cho phép các thành viên của nhóm truy cập và sửa đổi các tệp và thư mục.

Hãy nhớ rằng, giá trị umask được trừ từ các quyền mặc định (0777 cho tệp và 0755 cho thư mục) để xác định các quyền cuối cùng. 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.

Tóm tắt

Trong lab này, chúng ta đã khám phá lệnh umask của Linux, được sử dụng để đặt các quyền mặc định cho các tệp và thư mục mới được tạo. Chúng ta đã học được rằng giá trị umask là một số bát phân 4 chữ số, biểu thị các quyền không nên được cấp. Chúng ta cũng đã học cách sửa đổi quyền mặc định của tệp và thư mục bằng lệnh umask và cách tạo các tệp và thư mục mới để quan sát tác động của umask. Lab đã cung cấp các ví dụ thực tế để giúp chúng ta hiểu cách sử dụng và ứng dụng lệnh umask trong các tình huống khác nhau.

400+ câu lệnh phổ biến trong Linux