「dmask」および「fmask」マウントオプション


22

私はこのコマンドを手動でマウントしようとしました:

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

ここで何dmaskをするのfmaskかわからない。私は、彼らがアクセス権を設定するために使用されているけど、私はディレクトリをマウント内のファイルやフォルダのアクセス権をチェックするとき、彼らは私が使用して設定と同じではありませんfmaskdmask

それで、彼らは実際に何をしているのでしょうか?

回答:


41

fmaskおよびdmaskmountFATファイルシステムのオプションで、に基づいていfstabます。

これらはパーミッションを定義するために使用されます(umaskファイルとディレクトリの両方に設定されますが、ファイルとディレクトリにfmaskのみ適用されますdmask)。

マスクはファイルの権限ではなく、必要な権限を取得するために使用されます。さらに、マスクはパーミッションを追加できません。ファイルまたはディレクトリが持つことができるパーミッションのみを制限します。


umaskあなたは、ファイルやフォルダのアクセス権は、使用すべきカスタマイズしたい場合は、ファイルとフォルダのデフォルトですfmaskdmask同じ使用をumask

マスクの許可は、chmodコマンドに渡される8進数の許可コードとは異なりますが、この表は、マスクの許可がどのように機能するかを理解するのに非常に役立ちます。

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

通常の8進数の許可として機能しますが、7から減算され、絶対値を使用します。あなたが権限を設定したい場合は、インスタンスのために0777あなたにそれを設定する必要があります0000umask(例えばumask=0000)あなたがそれを設定したい場合は、0755あなたにそれを設定します0022

  • 最初の文字は、その8進数の許可を表します
  • 2番目は所有者向けです
  • 3番目はグループです
  • 4番目はその他、つまり他のユーザー向けです。

ソース


man mount これを与える:

   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.

また、UbuntuforumsでDrenrizaからの例と技術的な説明を見つけることができます。もちろん、Wikipediaはいつものように大いに役立ちます。


1
最初の数字を0から他の数字に変更しようとしましたか?1 = setuid 2 = setgid 4 = stickyのビットマスク。
ポールステリアン16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.