Umask Là Gì? Cách Cài Đặt Umask

Giới thiệu umask

Umask được hiểu là các giá trị mặc định khi bạn tạo ra một file mới hoặc một thư mục mới. Bạn có thể kiểm soát quyền mặc định của các file khi tạo ra bằng cách chỉnh sửa /etc/bashrc hoặc /etc/profile. Khi bạn chạy lệnh umask trong linux sẽ trả về kết quả gồm 4 cơ số trong hệ cơ số 8.

[root@26927 ~]# umask

0022

[root@26927 ~]# umask -S

u=rwx,g=rx,o=rx

Mỗi file/forder mới được tạo ra sẽ dựa trên umask và base permission để tính phân quyền cho đối tượng mới vừa được tạo.

Nếu bạn muốn gán các quyền mặc định cho tất cả các tệp hoặc thư mục mới bạn sẽ sử dụng lệnh sau:

[root@26927 ~]# umask 022

Cách tính giá trị umask

Để giải thích về 022, bạn sẽ có cách tính như sau:

Quyền mặc định (base permission) của hệ thống cho file là 666 và cho thư mục là 777 trừ cho giá trị umask => bạn sẽ có quyền tạo cho file và thư mục mới.

777 – 022 = 755
666 – 022 = 644

Permission

Umask cheat
0 — no permission
1 –x execute
2 -w- write
3 -wx write and execute
4 r—read
5 r-x read and execute
6 rw- read and write
7 rwx read, write and execute

0 rwx rw-

1 rw- rw-

2 r-x r–

3 r– r–

4 -wx -w-

5 -w- -w-

6 –x —

7 — —

Ví dụ umask = 123 tính quyền truy cập cho phép
Bài giải:
base permission: 666 = 111 111 111
Giá trị umask: 123 = 001 010 011
=> NOT (Giá trị umask) = NOT (001 010 011) = 110 101 100
Quyền truy cập cho phép = 111 111 111 AND 110 101 100 = 110 101 100 = 543

Cài đặt umask cho user

Để đặt vĩnh viễn giá trị umask trên tất cả user hệ thống bạn sẽ mở file /etc/profile sau đó sửa/thêm vào dòng sau:

umask 022

sau đó chạy lệnh source /etc/profile để cài đặt có hiệu lực.

Ví dụ gán umask = 123 cho user oracle

vim /home/oracle/.bashrc

thêm dòng sau và lưu lại.

umask 123

THAM KHẢO CÁC DỊCH VỤ TẠI VINAHOST:

>> SERVERCOLOCATION – CDN

>> CLOUDVPS

>> HOSTING

>> EMAIL

>> WEBSITE

>> TÊN MIỀN

>> SSL

Was this article helpful?