何

ディレクトリにデフォルトのACLを適用すると、次の2つのことが発生しますdefault:maskmask

シーン1

-bash-4.2$ ls -ld test/
 drwxr-x---. 2 test test 4096 Oct 15 19:12 test/

-bash-4.2$ setfacl -d -m u:arif:rwx test/

-bash-4.2$ getfacl --omit-header test
 user::rwx
 group::r-x
 other::---
 default:user::rwx
 default:user:arif:rwx
 default:group::r-x
 default:mask::rwx
 default:other::---

シーン2

-bash-4.2$ ls -dl dir/
 drwxr-x---. 2 test test 4096 Oct 15 18:17 dir/

-bash-4.2$ getfacl dir
 # file: dir
 # owner: test
 # group: test
 user::rwx
 group::r-x
 other::---

-bash-4.2$ setfacl -m user:arif:rwx dir

-bash-4.2$ getfacl --omit-header dir
 user::rwx
 user:arif:rwx
 group::r-x
 mask::rwx
 other::---

それでは、ここで目的は何ですかmask

ベストアンサー1

この3桁のACLシステムはTRUSIXから派生しました。他のACLシステム(FreeBSD、MacOS、AIX、Illumos、SolarisのNFS4スタイルシステム)は異なる動作をし、このACLの概念はマスクアクセス制御項目がありません。

これマスク名前が示すように、アプリケーションです。マスキングアクセス制御項目は、ユーザーとグループに権限を付与します。ファイル所有者または「その他」エントリではなく、すべてのアクセス制御エントリから付与できる最大権限。これらの3ビットは、これらのand他の項目の3ビットと一致します。

たとえば、ユーザーにrw-アクセス制御エントリが付与されているがマスクがある場合、r--そのユーザーは実際にはr--アクセス権しか持っていません。逆に、ユーザーに--xアクセス制御項目のみが付与されている場合、マスクは追加の権限を付与せず、rwxユーザーには--xアクセス権限のみが付与されます。

これ基本マスク親ディレクトリには、生成されたコンテンツに適用されるマスク設定があります。これは継承の一形態です。

なぜ

残念ながら、IEEE 1003.1eは標準にならず、1998年に撤回されました。実際に19年が過ぎた今は広く普及したオペレーティングシステムだ。Linux渡すFreeBSD到着ソラリス(後者の場合はNFS4スタイルのACLと共に) - 実際の実装です。

IEEE 1003.1e作業ドラフト#17興味深く読んでおすすめです。付録B§23.3では、ワークグループは、レガシーグループ権限フラグに関してPOSIX ACLが機能するかなり複雑な方法に関する8ページの詳細な根拠を提供しますS_IRWXG。 (TRUSIXの人々が10年前にほぼ同じ分析を提供したことは注目に値します。)これはマスクの存在理由を扱い、ここでは簡単に説明します。

  • 従来のUnixアプリケーションは、ファイル、名前付きパイプ、デバイス、またはディレクトリへのすべてのアクセスを拒否できるようにしたいですchmod(…,000)。 ACLがあると、この機能はオフになります。みんなユーザーとグループの権限(マスクされていて以前のアイテムがマップされているS_IRWXG場合)これがないと、以前のファイル権限を設定しても所有000者やアイテムusergroup影響を与えず、驚くべきことに他のユーザーがまだそのオブジェクトにアクセスできるようになります。

    ファイルの許可ビットをアクセス禁止に一時的に変更してchmod 000再度変更することは、Unixがアドバイザリロックメカニズムを持つ前に使用されていた古いファイルロックメカニズムです。- ご覧のとおり - 21世紀にも人々はまだ使用しています。。 (setlock1990年代後半から、推奨ロックは、移植可能でよく知られているツールを使用するスクリプトを介して簡単に使用できるようになりました。)

  • 既存のUnixスクリプトは実行されると予想され、chmod go-rwx最終的にオブジェクトの所有者だけがオブジェクトにアクセスできます。繰り返しますが、マスクがあり、以前の権限がそれにマップされていない場合はS_IRWXG効果がありません。そうしないと、コマンドが非所有者またはアクセス制御エントリをchmod閉じないため、所有者以外のユーザーと非所有グループがアクセス権を維持する可能性があります。特定のコンテンツへのアクセス権usergroup楽しみですねアクセスしやすいただ所有者に。

    それからまた- ご覧のとおり - このchmodコマンドは依然として受け入れられる知恵です。12年後。この真実はまだ有効です。

  • マスキング機構がない他の方法にも欠点があります。
  • ほとんどの場合、権限ビットはandACLとは別に使用され、代替システムではファイル権限フラグが必要です。rwxrwxrwx
  • 他のシステムの許可ビットをACLとは別に使用し、 orACLと一緒に使用すると、前述のchmod(…,000)問題が発生する可能性があります。

したがって、ACLシステムにはマスクが付属しています。

追加読書

おすすめ記事