umask và chmod

umask

Umask (viết tắt của user file-creation mode mask hay user-mask) dùng để xác định quyền trên file mới được tạo, bao gồm quyền được đọc, ghi hay thực thi.

Umask mô tả bằng một số hệ 8, gồm bit nào phải bị loại bỏ (bit 0=thực thi, bit 1=ghi, bit 2=đọc)

Octal value : Permission
0 : đọc, ghi và thực thi
1 : đọc và ghi (chỉ loại bỏ bit 0=thực thi)
2 : đọc và thực thi (chỉ loại bỏ bit 1=ghi)
3 : chỉ đọc (loại bỏ bit 0 và bit 1)
4 : ghi và thực thi (loại bỏ bit 2=đọc)
5 : chỉ ghi (loại bỏ bit 0 và bit 2)
6 : chỉ thực thi (loại bỏ bit 1 và bit 2)
7 : không có quyền nào (loại bỏ bit 0, bit 1 và bit 2)

Thứ tự nhóm 3 số mô tả quyền [owner][group][others]. Thí dụ umask 077 có nghĩa là chỉ owner có toàn quyền.

Quyền mặc định được mô tả trong file /etc/profile hay ~/.bashrc. Không thấy ghi có nghĩa là umask 002 (mọi người có thể đọc và thực thi, không có quyền ghi), giả sử muốn thay đổi không cho người cùng nhóm quyền ghi thì thêm vào cuối file

umask 022

Quyền được gán cho file/thư mục chỉ có giá trị sau khi áp dụng quyền mặc định

# Quyền gán cho thư mục 777
# Quyền mặc định 022
# Quyền cuối cùng 777 - 022 = 755

umask có thể mô tả bằng ký hiệu

  • r : đọc
  • w : ght
  • x : thực thi
  • u : sở hữu chủ của file
  • g : nhóm sở hữu file
  • o : khác
umask u=rwx,g=,o=

Chú thích

Để thay đổi quyền trên file đã có, dùng chmod

Lệnh umask

Đặt hoặc hiển thị file mode creation mask

$ umask          # hiển thị giá trị hiện tại (octal)
0022
$ umask -S       # hiển thị giá trị hiện tại bằng ký hiệu
u=rwx,g=rx,o=rx
$ umask 007      # đặt mask là 007
$ umask          # hiển thị mask (octal)
0007             #   0 - quyền đặt biệt (setuid | setgid | sticky)
                 #   0 - (u)phần ser/owner của mask
                 #   0 - (g)phần nhóm của mask
                 #   7 - (o)phần ngoài nhóm của mask
$ umask -S       # hiển thị giá trị hiện tại bằng ký hiệu
u=rwx,g=rwx,o=

Comments Off on umask và chmod

Filed under Software

Comments are closed.