Tùy chọn gắn kết


22

Tôi đã thử lệnh này để gắn kết bằng tay:

sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

Tôi không nhận được những gì dmaskfmasklàm ở đây. Tôi biết chúng được sử dụng để thiết lập quyền, nhưng khi tôi kiểm tra quyền của các tệp và thư mục bên trong thư mục được gắn kết, chúng không giống như tôi đã sử dụng fmaskdmask.

Vậy, họ thực sự đang làm gì?

Câu trả lời:


41

fmaskdmaskmountcác tùy chọn cho hệ thống tập tin FAT , dựa trên fstab.

Chúng được sử dụng để xác định quyền ( umaskđặt chúng cho cả tệp và thư mục, trong khi fmaskchỉ áp dụng cho tệp và dmaskthư mục).

Các mặt nạ KHÔNG phải là quyền của tệp, chúng được sử dụng để có được quyền bạn muốn. Ngoài ra, mặt nạ không thể thêm bất kỳ quyền nào, chúng chỉ giới hạn những quyền mà tệp hoặc thư mục có thể có.


Đây umasklà mặc định cho các tệp và thư mục, nếu bạn muốn tùy chỉnh các quyền của tệp và thư mục, bạn nên sử dụng fmaskdmasksử dụng tương tự như umask.

Các quyền của mặt nạ không giống như các mã cấp phép bát phân được truyền cho chmodlệnh, tuy nhiên bảng này thực sự hữu ích để hiểu cách các quyền của mặt nạ hoạt động:

    0   1   2   3   4   5   6   7
r   +   +   +   +   -   -   -   -
w   +   +   -   -   +   +   -   -
x   +   -   +   -   +   -   +   -

Nó hoạt động như các quyền bát phân bình thường nhưng bị trừ đi 7 và sử dụng giá trị tuyệt đối. chẳng hạn, nếu bạn muốn đặt quyền cho 0777bạn, bạn sẽ cần đặt nó 0000trong umask(ví dụ umask=0000), nếu bạn muốn đặt nó thành 0755bạn sẽ đặt nó thành 0022:

  • Ký tự đầu tiên thể hiện rằng nó là một quyền bát phân
  • Thứ hai là dành cho chủ sở hữu
  • Thứ ba là nhóm
  • Thứ tư là dành cho người khác, tức là bất kỳ người dùng nào khác

( Nguồn )


man mount đưa ra điều này:

   umask=value
          Set the umask (the bitmask  of  the  permissions  that  are  not
          present).  The default is the umask of the current process.  The
          value is given in octal.

   dmask=value
          Set the umask applied to directories only.  The default  is  the
          umask of the current process.  The value is given in octal.

   fmask=value
          Set the umask applied to regular files only.  The default is the
          umask of the current process.  The value is given in octal.

Bạn cũng sẽ tìm thấy các ví dụ và giải thích kỹ thuật từ Drenriza trên Ubuntuforums và tất nhiên Wikipedia giúp ích rất nhiều, như thường lệ.


1
Bạn đã thử thay đổi chữ số đầu tiên từ 0 sang số khác chưa? Bitmask của 1 = setuid 2 = setgid 4 = dính.
Paul Stelian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.