EN JA
ACL(3)
ACL(3) FreeBSD Library Functions Manual ACL(3)

名称

aclPOSIX.1e ACL セキュリティ API の紹介

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < sys/acl.h>

解説

FreeBSD は、ファイルシステムが VFS によってアクセスコントロールリストをエクスポートすることを可能にし、これらの ACL のユーザランドアクセスと操作のためのライブラリを提供します。すべてのファイルシステムが ACL のサポートを提供することはなく、あるものは ACL サポートが管理者によって明らかに有効にされることを要求することができます。ライブラリ呼び出しは、ファイルオブジェクトに関連している ACL の割り付け、複写、検索、設定、認証するためにルーチンを含んでいます。 POSIX.1e ルーチンと同様に、NFSv4, AFS, NTFS, Coda と NWFS 意味論のような POSIX.1e 意味論より代替の ACL 意味論を考慮に入れて定義した多くの移植性のない拡張があります。ルーチンが非標準のところで、それらが移植性がないことを示すために _np が後に付けられます。

POSIX.1e は、ファイルとのそれらの関係と同様に、ACL のコンテンツを管理するための 1 組の ACL 操作ルーチンについて記述しています。これらのサポートルーチンのほとんどすべては FreeBSD で実装されています。

振る舞いによってソートされた利用可能な関数は、次のものを含んでいます:

acl_add_flag_np()
この関数は、 acl_add_flag_np(3) で解説され、flagset にフラグを追加するために使用されます。
acl_add_perm()
この関数は、 acl_add_perm(3) で解説され、パーミッションセットにパーミッションを追加するために使用できます。
acl_calc_mask()
この関数は、 acl_calc_mask(3) で解説され、 ACL_MASK エントリに関連しているパーミッションを計算して設定するために使用できます。
acl_clear_flags_np()
この関数は、 acl_clear_flags_np(3) で解説され、flagset からすべてのフラグをクリアするために使用されます。
acl_clear_perms()
この関数は、 acl_clear_perms(3) で解説され、パーミッションセットから全てのパーミッションをクリアするために使用できます。
acl_copy_entry()
この関数は、 acl_copy_entry(3) で解説され、ACL エントリの内容をコピーするために使用できます。
acl_create_entry(), acl_create_entry_np()
これらの関数は、 acl_create_entry(3) で解説され、ACL 中に空のエントリを作成するために使用できます。
acl_delete_def_file(), acl_delete_def_link_np(), acl_delete_fd_np(), acl_delete_file_np(), acl_delete_link_np()
これらの関数は、 acl_delete(3) で解説され、ファイルシステムオブジェクトから ACL を削除するために使用できます。
acl_delete_entry(), acl_delete_entry_np(),
これらの関数は、 acl_delete_entry(3) で解説され、ACL からエントリを削除するために使用できます。
acl_delete_flag_np()
この関数は、 acl_delete_flag_np(3) で解説され、flagset からフラグを削除するために使用されます。
acl_delete_perm()
この関数は、 acl_delete_perm(3) で解説され、パーミッションセットからパーミッションを削除するために使用できます。
acl_dup()
この関数は、 acl_dup(3) で解説され、ACL 構造体を複写するために使用できます。
acl_free()
この関数は、 acl_free(3) で解説され、ユーザランドの作業用 ACL 記憶領域を解放するために使用できます。
acl_from_text()
この関数は、 acl_from_text(3) で解説され、ACL には、POSIX.1e または NFSv4 意味論があるなら、テキスト形式 ACL を作業用 ACL 状態に変換するために使用できます。
acl_get_brand_np()
This function is described in acl_get_brand_np(3) and may be used to determine whether the ACL has POSIX.1e or NFSv4 semantics.
acl_get_entry()
この関数は、 acl_get_entry(3) で解説され、 ACL から指定された ACL エントリを検索して取り出すために使用できます。
acl_get_fd(), acl_get_fd_np(), acl_get_file(), acl_get_link_np()
これらの関数は、 acl_get(3) で解説され、ファイルシステムオブジェクトから ACL を取得するために使用できます。
acl_get_entry_type_np()
この関数は、 acl_get_entry_type_np(3) で解説され、ACL エントリから ACL タイプを検索するために使用されます。
acl_get_flagset_np()
この関数は、 acl_get_flagset_np(3) で解説され、ACL エントリから flagset を検索するために使用されます。
acl_get_permset()
この関数は、 acl_get_permset(3) で解説され、 ACL エントリからパーミッションセットを検索して取り出すために使用できます。
acl_get_qualifier()
この関数は、 acl_get_qualifier(3) で解説され、 ACL エントリから修飾子 (qualifier) を検索して取り出すために使用できます。
acl_get_tag_type()
この関数は、 acl_get_tag_type(3) で解説され、 ACL エントリからタグのタイプを検索して取り出すために使用できます。
acl_init()
この関数は、 acl_init(3) で解説され、初期 (空の) ACL 構造体を割り付けるために使用できます。
acl_is_trivial_np()
この関数は、 acl_is_trivial_np(3) で解説され、ACL が普通であるかどうか見つけるために使用されます。
acl_set_fd(), acl_set_fd_np(), acl_set_file(), acl_set_link_np()
これらの関数は、 acl_set(3) で解説され、ACL をファイルシステムオブジェクトに割り当てるために使用できます。
acl_set_entry_type_np()
この関数は、 acl_set_entry_type_np(3) で解説され、ACL エントリの ACL タイプを設定するために使用されます。
acl_set_flagset_np()
この関数は、 acl_set_flagset_np(3) で解説され、flagset から ACL エントリのフラグを設定するために使用されます。
acl_set_permset()
この関数は、 acl_set_permset(3) で解説され、パーミッションセットから ACL エントリのパーミッションを設定するために使用できます。
acl_set_qualifier()
この関数は、 acl_set_qualifier(3) で解説され、ACL の修飾子 (qualifier) を設定するために使用できます。
acl_set_tag_type()
この関数は、 acl_set_tag_type(3) で解説され、ACL のタグのタイプを設定するために使用できます。
acl_strip_np()
この関数は、 acl-strip_np(3) で解説され、ACL から拡張エントリを削除するために使用されます。
acl_to_text(), acl_to_text_np()
これらの関数は、 acl_to_text(3) で解説され、POSIX.1e または NFSv4 意味論 ACL のテキスト形式を生成するために使用できます。
acl_valid(), acl_valid_fd_np(), acl_valid_file_np(), acl_valid_link_np()
これらの関数は、 acl_valid(3) で解説され、正しい POSIX.1e 意味論として、または意味論にかかわらず特定のファイルシステムオブジェクトに適切であるように ACL を有効にするために使用できます。

これらの呼び出しを支援する内部カーネルインタフェースの文書は acl(9) で見つけられます。内部のインタフェースと一般のライブラリルーチンの間のシステムコールは、時間とともに変化するかもしれなくて、そういうものとして文書化されません。それらは、ライブラリを介せずに、直接呼ばれるようには意図されません。

規格

POSIX.1e は、POSIX.1 で解説されているセキュリティ機能を拡張して、セキュリティラベルをすべてのオブジェクトに割り当てます。これらの追加ラベルは、きめの細かい任意のアクセスコントロール、きめの細かいケイパビリティ (能力)、および強制的なアクセスコントロールに必要なラベルを提供します。 POSIX.2c は、これらのラベルを操作するための 1 組のユーザランドユーティリティを解説しています。

POSIX.1e は、IEEE の POSIX.1e の草案の 17 に記述されています。草案の議論は、クロスプラットフォームの POSIX.1e 実装メーリングリストで継続しています。このリストに加入するための、より詳しい情報については、 FreeBSD POSIX.1e 実装ページを参照してください。

歴史

POSIX.1e サポートは、 FreeBSD 4.0 で導入されました。 FreeBSD 5.0 は、UFS および UFS2 ファイルシステムのための拡張属性に基づく完全な ACL 実装を含む最初のバージョンです。

getfacl(1)setfacl(1) ユーティリティは、完全なファイルの ACL の直接操作を可能にするユーザツールについて説明します。

作者

Robert N M Watson
November 12, 2013 FreeBSD