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:
>> SERVER – COLOCATION – CDN
>> HOSTING
>> WEBSITE
>> TÊN MIỀN
>> SSL