Next: Locating Files, Previous: File Attributes, Up: Information about Files [Contents][Index]
いくつかのオペレーティングシステムでは、それぞれのファイルを任意の拡張ファイル属性(extended file attributes)に関連付けることができます。現在のところ、Emacsは拡張ファイル属性のうち2つの特定セット(ACL: Access Control List、およびSELinuxコンテキスト)にたいする問い合わせと設定をサポートします。これらの拡張ファイル属性は、前のセクションで議論した“Unixスタイル”の基本的なパーミッションより洗練されたファイルアクセス制御を強いるために、いくつかのシステムで利用されます。
ACLとSELinuxについての詳細な解説はこのマニュアルの範囲を超えています。わたしたちの目的のためには、それぞれのファイルはACL (ACLベースのファイル制御システムの元でACLのプロパティを指定)および/またはSELinuxコンテキスト (SELinuxシステムの元でSELinuxのプロパティを指定)に割り当てることができるという理解で問題ないでしょう。
この関数はファイルfilenameにたいするACLをリターンする。ACLにたいする正確なLisp表現は不確定(かつ将来のEmacsバージョンで変更され得る)だが、これはset-file-acl
が引数aclにとる値と同じである(Changing Filesを参照)。
根底にあるACL実装はプラットフォームに固有である。EmacsはGNU/LinuxとBSDではPOSIX ACLインターフェイスを使用して、MS-WindowsではネイティブのファイルセキュリティAPIをPOSIX ACLインターフェイスでエミュレートする。
ACLサポートなしでEmacsがコンパイルされた場合には、ファイルが存在しないかアクセス不能な場合、またはその他の理由によりEmacsがACLエントリーを判断できなければリターン値はnil
。
この関数はファイルfilenameのSELinuxコンテキストを(user role
type
range)
という形式のリストでリターンする。リストの要素はそのコンテキストのユーザー、ロール、タイプ、レンジを文字列として表す値である。これらの実際の意味についての詳細はSELinuxのドキュメントを参照のこと。リターン値はset-file-selinux-context
がcontext引数で受け取るのと同じ形式(Changing Filesを参照)。
SELinuxサポートなしでEmacsがコンパイルされた場合、ファイルが存在しないかアクセス不能な場合、またはシステムがSELinuxをサポートしなければリターン値は(nil
nil nil nil)
。
この関数はEmacsが認識するファイルfilenameの拡張属性をalistでリターンする。現在のところこの関数はACLとSELinuxの両方を取得するための便利な方法としての役目を果たす。他のファイルに同じファイルアクセス属性を適用するためにリターンされたalistを2つ目の引数としてset-file-extended-attributes
を呼び出すことができる(Changing Filesを参照)。
要素のうちの1つは(acl . acl)
で、aclはfile-acl
がリターンするのと同じ形式。
他の要素は(selinux-context
. context)
で、contextはfile-selinux-context
がリターンするのと同じ形式。