日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CAP_RIGHTS_INIT(3) FreeBSD ライブラリ関数マニュアル CAP_RIGHTS_INIT(3) 名称 cap_rights_init, cap_rights_set, cap_rights_clear, cap_rights_is_set, cap_rights_is_valid, cap_rights_merge, cap_rights_remove, cap_rights_contains -- cap_rights_t 構造体を管理する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/capsicum.h> cap_rights_t * cap_rights_init(cap_rights_t *rights, ...); cap_rights_t * cap_rights_set(cap_rights_t *rights, ...); cap_rights_t * cap_rights_clear(cap_rights_t *rights, ...); bool cap_rights_is_set(const cap_rights_t *rights, ...); bool cap_rights_is_valid(const cap_rights_t *rights); cap_rights_t * cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src); cap_rights_t * cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src); bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little); 解説 ここで文書化された関数は、cap_rights_t 構造体を管理することを可能にしま す。 ケーパビリティの権利は、cap_rights_init(), cap_rights_set(), cap_rights_clear() と cap_rights_is_set() 関数に渡されるとき、コンマで区 切られるべきです。例えば: cap_rights_set(&rights, CAP_READ, CAP_WRITE, CAP_FSTAT, CAP_SEEK); ケーパビリティの権利の完全なリストは、rights(4) マニュアルページで見つけ ることができます。 cap_rights_init() 関数は、提供される cap_rights_t 構造体を初期化します。 適切に初期化された構造体のみ、残りの関数に渡すことができます。便宜上、構 造体は、後で cap_rights_set() 関数を呼び出す代わりにケーパビリティの権利 で満たすことができます。返される与えられた構造体へのさらに便利なポインタ のために、それで、それは、cap_rights_limit(2) に直接渡すことができます: cap_rights_t rights; if (cap_rights_limit(fd, cap_rights_init(&rights, CAP_READ, CAP_WRITE)) < 0) err(1, "Unable to limit capability rights"); cap_rights_set() 関数は、与えられた cap_rights_t 構造体への与えられたケー パビリティの権利を追加します。 cap_rights_clear() 関数は、与えられた cap_rights_t 構造体から与えられた ケーパビリティの権利を削除します。 cap_rights_is_set() 関数は、すべての与えられたケーパビリティの権利が与え られた cap_rights_t 構造体のために設定されているかどうか、チェックしま す。 cap_rights_is_valid() 関数は、与えられた cap_rights_t 構造体が有効かどう か確認します。 cap_rights_merge() 関数は、dst 構造体に src 構造体に存在するすべてのケー パビリティの権利をマージします。 cap_rights_remove() 関数は、dst 構造体から src 構造に存在するすべてのケー パビリティの権利を削除します。 cap_rights_contains() 関数は、big 構造体が little 構造体に存在するすべて のケーパビリティの権利を含んでいるかどうかチェックします。 戻り値 関数は、決して失敗しません。無効のケーパビリティの権利または無効の cap_rights_t 構造体が引数として与えられるなら、プログラムは、異常終了しま す。 cap_rights_init(), cap_rights_set() と cap_rights_clear() 関数は、rights 引数で与えられた cap_rights_t 構造体へのポインタを返します。 cap_rights_merge() と cap_rights_remove() 関数は、dst 引数で与えられた cap_rights_t 構造体へのポインタを返します。 cap_rights_is_set() は、すべての与えられたケーパビリティの権利が rights 引数に設定されているなら、true (真) を返します。 cap_rights_is_valid() 関数は、与えられた cap_rights_t 構造体が有効で、そ れがそうであるなら、true が返されるかどうか確かめるために様々なチェックを 実行します。 cap_rights_contains() 関数は、little 構造体に設定されたすべてのケーパビリ ティの権利が big 構造体にも存在すなら、true を返します。 使用例 次の例は、cap_rights_limit(2) システムコールに渡される、cap_rights_t 構造 体を準備する方法の実例の説明です。 cap_rights_t rights; int fd; fd = open("/tmp/foo", O_RDWR); if (fd < 0) err(1, "open() failed"); cap_rights_init(&rights, CAP_FSTAT, CAP_READ); if (allow_write_and_seek) cap_rights_set(&rights, CAP_WRITE, CAP_SEEK); if (dont_allow_seek) cap_rights_clear(&rights, CAP_SEEK); if (cap_rights_limit(fd, &rights) < 0 && errno != ENOSYS) err(1, "cap_rights_limit() failed"); 関連項目 cap_rights_limit(2), open(2), capsicum(4), rights(4) 歴史 ケーパビリティとケーパビリティモードのサポートは、TrustedBSD プロジェクト の一環として開発されました。 作者 この関数ファミリは、FreeBSD 財団の資金提供の下で Pawel Jakub Dawidek <pawel@dawidek.net> によって作成されました。 FreeBSD 11.2 March 27, 2014 FreeBSD 11.2