アクセスコントロールリスト


Mac OS X v10.4は、アクセスコントロールリスト(ACLs)―ファイルとディレクトリのアクセス権の実装のための、よりきめ細かい手法―への対応を導入しました。ACLsは、誰がファイルやディレクトリへのアクセスを持つのか、そしてその人物が行うことのできる行動は何なのかを超える、さらなるコントロールが必要とされる状況において、既存のBSDアクセス権モデルを補います。たとえば、ACLsの使用は、あなたにあるファイルのアクセス権を、それぞれが別個のアクセス権のセットを持っている、複数のユーザやグループに割り当てることを可能にします。

ファイルとディレクトリの所有権モデルの拡張に加えて、ACLsはこれらのエンティティへのよりきめ細かいアクセスも提供します。基本的なファイルのためのBSDアクセス権は、ユーザやグループにそのファイルの読み出し、書き込み、実行を可能にします。ACLsを用いた場合、あなたはユーザにファイルへデータを書き込ませるが、ファイルの削除やそのファイルシステム属性の変更はさせないといったことが可能です。同様に、あなたはユーザにファイル属性を読み出させるものの、そのファイルの検索や、そのデータの読み出しはさせないといったこともできます。

ACLsが最も頻繁に用いられるのは、ファイルとディレクトリへのきめ細かいアクセスが重要である、ファイルサーバの実装においてです。Mac OS X Server v10.4は、ACLs、およびこれを共有ポイントとディレクトリのために設定する能力に対応しています。Mac OS X v10.4のクライアントバージョンは、ACLsの存在を尊重しますが、ファイルとディレクトリのアクセス権を指定するためにはこれらを常用していません。

重要:Mac OS Xにおける、すべてのファイルシステムでACLsが対応されているわけではありません。また、ACLsへの対応を明確に有効化するためには、使用できるようにする前に、システム管理者が必要となるかもしれません。現在、HFS+ファイルシステムだけが、ACLsをローカルに対応しています。ネットワーク上では、ACLsはAFPおよびSMB/CIFSが共に対応しています。

もし、あなたがファイルシステムと直接やり取りするアプリケーションを書いていたら、あなたはACLsの有無をチェックし、その存在を尊重する必要があります。たとえば、ファイルバックアップソフトウェアの開発者は、対応するファイルとディレクトリに加えて、ACLデータを保存すること、そして後日そのデータを復旧できるようにすることを忘れてはいけません。

Mac OS XにおけるACL対応についての詳細情報は、Security Overviewを参照してください。あなたの独自のコードでACL情報をどのように読み書きするかの詳細は、acl man page を参照してください。