umask trong quản lý file permisions của Linux

Thông thường khi nói đến file permissions trong Linux chúng ta nói đến quyền của người dùng trên file.
Quyền này là riêng biệt trên từng file và khi file được tạo ra, nó sẽ được thiết lập một bộ quyền mặc định được xác định trước đó thông qua umask.

Người dùng(User) được chia làm 3 loại.
Owner – User/process tạo ra file.
Group – Group của user/process tạo ra file.
Other – Những user/process khác

Quyền(permission) được chia làm 3 quyền.
Read
Đối với file nếu có quyền này thì được đọc nội dung của file.
Đối với thư mục nếu có quyền này thì được độc nội dung bên trong thư mục. Nếu không có quyền read
nhưng có quyền execute thì có thể truy cập nội dung trong thư mục nếu biết chính xác đường dẫn đến
thư mục.
Write
Có thể sửa/xóa file, thư mục.
Execute
Đối với file, nếu có quyền này sẽ thực thi được file, ví dụ một đoạn code bash shell, Python, Perl.
Đối với thư mục, quyền này cho phép truy cập vào bên trong thư mục.

Permission trong Linux được thể hiện và thao tác qua 2 dạng:
Symbolic
gồm 3 loại: r – read; w – write; x – execute
được kết hợp khi đi cùng nhau thành một bô 3 ký tự với dấu (-) nghĩa là không có quyền đó.
ví dụ:
Quyền chỉ đọc sẽ là r–, quyền đọc ghi là rw-, quyền đọc, ghi và thực thi là rwx.

Octal
gồm 3 số: 4 – read; 2 – write; 1 – execute
Được kết hợp bằng các cộng vào nhau.
ví dụ:
Quyền chỉ đọc sẽ là 4, quyền đọc ghi là 6, quyền đọc, ghi và thực thi là 7.

Cả hai loại này đều được áp dụng theo tự Owner – Group – Other
Ví dụ:
quyền 644 hoặc rw-r–r– nghĩa là user owner/process owner có quyền đọc ghi, những user/process thuộc Group có quyền đọc và những user/process khác có quyền đọc.

Mặc định:
Khi một file tạo ra sẽ có quyền 666 hay rw-rw-rw-
Khi một thư mục tạo ra sẽ có quyền 777 hay rwxrwxrwx

Umask
Umask cũng được sử dụng theo dạng Octal như quyền của file.
Khi một file được tạo ra, quyền mặc định của nó sẽ trừ cho umask để ra quyền của file.
Khi một thư mục được tạo ra, quyền mặc định của nó sẽ trừ cho umask để ra quyền của folder

ví dụ:
Với umask là 022
File và thư mục sẽ có quyền lần lượt là
file:
default: 666
umask : 022
permision: 644

folder:
default: 777
umask : 022
permision: 755

File umask được cấu hình ở đâu ?
umask sẽ được cấu hình tại /etc/profile hoặc /etc/bashrc sẽ áp dụng cho toàn bộ người dùng.
Người dùng có thể override umask bằng cách set umask trong home folder của họ với /user/.bashrc (được load trong nologin mode) hoặc /user/.bash_profile (được load trong login mode) đối với bash shell.

Tìm và sửa dòng cấu hình umask để áp dụng cho những file,folder mới được tạo ra.

Comments

comments