FAT マウントオプション allowed_utime 説明

FAT マウントオプション allowed_utime 説明

次の(v)FAT(Linux)に対してMountoptionが何をしているのかを調べようとしています。

allow_utime=### -- このオプションは、mtime/atime の権限確認を制御します。

              20 - If current process is in group of file's group ID,
                   you can change timestamp.
               2 - Other users can change timestamp.

             The default is set from `dmask' option. (If the directory is
             writable, utime(2) is also allowed. I.e. ~dmask & 022)

             Normally utime(2) checks current process is owner of
             the file, or it has CAP_FOWNER capability.  But FAT
             filesystem doesn't have uid/gid on disk, so normal
             check is too unflexible. With this option you can
             relax it.

[源泉]

質問:(上)これはどういう意味ですか?

探してみようとしてCコードで終わったのにあまり役に立たなかったので、このコードもman 2 utime(言及どおり)現在としては私にとってあまり役に立ちません。いいねソースの使用

からutimeutime() システムコールは、filename で指定された inode のアクセスおよび変更時間を次に変更します。行動時間modtime時間フィールド。

私はそれを次のように読みました:変更タイムスタンプを有効にします。このマウントオプションを使用する方法の実際的な例を提示できるように、大変お世話になります(allow_utim)。

ベストアンサー1

一般的な Unix ファイル属性をサポートするファイルシステムでは、各ファイルには所有者として指定されたユーザーがあります。ファイルの所有者だけがタイムスタンプを変更できますutime。他のユーザーは書き込み権限を持っていてもタイムスタンプを変更できません。

FATファイルシステムは所有者のようなものを記録しません。 FATファイルシステムドライバは、特定のユーザー(たとえば、インストールを実行したユーザーまたはパラメータで指定されたユーザー)が各ファイルの所有者であるかのように偽装しますuid。一般ルールを使用すると、そのユーザーだけがタイムスタンプを変更できます。ファイルには、パラメータによって決定される対応するファイルが属するグループもありますgid

FATファイルシステムはUnixファイルの権限を記録しないため、ドライバはそれを補償します。umaskfmaskおよびパラメータに基づいて権限を割り当てるため、dmaskすべてのディレクトリとすべての一般ファイルは同じ権限を持ちます。

所有者以外のユーザーがファイルシステムへの書き込みアクセス権を持っている場合は、通常のファイルとディレクトリだけでなくファイルメタデータも変更できることが合理的です。 FATファイルシステムで重要な主なメタデータはファイルのタイムスタンプです。通常、所有者だけがタイムスタンプを変更できます。マウントオプションを渡すことで、allow_utime他のユーザーがタイムスタンプを変更できるようにすることもできます。たとえば、グループがfooファイルシステム内のすべてのエントリを変更できるようにし、他のグループは読み取ることができますが、書き込めないようにするには引数を渡します。

gid=foo,umask=002,allow_utime=20

allow_utime(実際にはumaskのデフォルト値に基づいています。)

おすすめ記事