OSDN Git Service

(split) DP: release pages (catch up to 3.50).
[linuxjm/LDP_man-pages.git] / release / man2 / capget.2
index 116cc0a..ba9bb83 100644 (file)
@@ -1,5 +1,9 @@
 .\" written by Andrew Morgan <morgan@kernel.org>
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
 .\" may be distributed as per GPL
+.\" %%%LICENSE_END
+.\"
 .\" Modified by David A. Wheeler <dwheeler@ida.org>
 .\" Modified 2004-05-27, mtk
 .\" Modified 2004-06-21, aeb
 .\"     64-bit capability sets in kernel 2.6.2[45].
 .\" Modified 2009-01-26, andi kleen
 .\"
-.\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1999-12-26, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated & Modified 2005-02-03, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated & Modified 2006-01-31, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated & Modified 2006-07-23, Akihiro MOTOKI, LDP v2.36
-.\" Updated & Modified 2008-08-11, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2009-02-24, Akihiro MOTOKI, LDP v3.19
+.\"*******************************************************************
 .\"
-.\"WORD:       capability              ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
-.\"WORD:       effective capability    ¼Â¸ú¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
-.\"WORD:       inheritable capabilit   ·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
-.\"WORD:       permitted capabily      µö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH CAPGET 2 2009-01-26 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-capget, capset \- ¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÀßÄê/¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
-.B #undef _POSIX_SOURCE
-.br
-.B #include <sys/capability.h>
+.\"*******************************************************************
+.TH CAPGET 2 2013\-03\-11 Linux "Linux Programmer's Manual"
+.SH 名前
+capget, capset \- スレッドのケーパビリティを設定/取得する
+.SH 書式
+\fB#include <sys/capability.h>\fP
 .sp
-.BI "int capget(cap_user_header_t " hdrp ", cap_user_data_t " datap );
+\fBint capget(cap_user_header_t \fP\fIhdrp\fP\fB, cap_user_data_t \fP\fIdatap\fP\fB);\fP
 .sp
-.BI "int capset(cap_user_header_t " hdrp ", const cap_user_data_t " datap );
-.SH ÀâÌÀ
-Linux 2.2 ¤Ç¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼ (root) ¤Î¸¢¸Â¤Ï¡¢¸ÄÊ̤Υ±¡¼¥Ñ¥Ó¥ê¥Æ¥£
-(capabilities) ¤Ø¤Èʬ³ä¤µ¤ì¡¢¤½¤Î½¸¹ç¤È¤·¤Æɽ¸½¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
-³Æ¥¹¥ì¥Ã¥É¤Ï¡Ö¼Â¸ú¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (effective capability) ¤Î½¸¹ç¡×¤ò»ý¤Á¡¢
-¤½¤ì¤Ë¤è¤Ã¤Æ¸½ºß¤É¤ÎÁàºî¤¬¼Â¹Ô²Äǽ¤«¤ò¼±Ê̤Ǥ­¤ë¡£
-¤Þ¤¿¡¢³Æ¥¹¥ì¥Ã¥É¤Ï¡¢
-¡Ö·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (inheritable capability) ¤Î½¸¹ç¡×¤È
-¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (permitted capability) ¤Î½¸¹ç¡×¤ò»ý¤Ä¡£
-¡Ö·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î½¸¹ç¡×¤Ï
-.BR execve (2)
-¤òÄ̤¸¤ÆÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î½¸¹ç¤Ç¤¢¤ê¡¢
-¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (permitted capability) ¤Î½¸¹ç¡×¤Ï
-¼Â¸ú¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ä·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤È¤·¤ÆÍ­¸ú¤Ë¤Ç¤­¤ë
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òµ¬Äꤹ¤ë¤â¤Î¤Ç¤¢¤ë¡£
+\fBint capset(cap_user_header_t \fP\fIhdrp\fP\fB, const cap_user_data_t
+\fP\fIdatap\fP\fB);\fP
+.SH 説明
+Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ (capabilities)
+へと分割され、その集合として表現されるようになった。 各スレッドは「実効ケーパビリティ (effective capability) の集合」を持ち、
+それによって現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパビリティ (inheritable capability)
+の集合」と 「許可ケーパビリティ (permitted capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は
+\fBexecve\fP(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリティ (permitted capability)
+の集合」は 実効ケーパビリティや継承可能ケーパビリティとして有効にできる ケーパビリティを規定するものである。
 .PP
-¤³¤ÎÆó¤Ä¤Î´Ø¿ô¤Ï¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¼èÆÀ¤·¤¿¤êÀßÄꤷ¤¿¤ê¤¹¤ë¤¿¤á¤Î
-À¸¤Î¥«¡¼¥Í¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux ÆÃÍ­¤Ç¤¢¤ë¤È¤¤¤¦¤À¤±¤Ç¤Ê¤¯¡¢
-¥«¡¼¥Í¥ë API ¤ÏÊѹ¹¤µ¤ì¤ë¤«¤â¤·¤ì¤º¡¢¤³¤ì¤é¤Î
-´Ø¿ô¤Î»ÈÍÑË¡ (ÆäË
-.I cap_user_*_t
-·¿¤È¤¤¤¦½ñ¼°) ¤Ï¥«¡¼¥Í¥ë¤Î¥ê¥Ó¥¸¥ç¥óËè¤Ë³ÈÄ¥¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢
-°ÊÁ°¤Î¥×¥í¥°¥é¥à¤Ï¤½¤Î¤Þ¤ÞÆ°ºî¤¹¤ë¡£
+These two system calls are the raw kernel interface for getting and setting
+thread capabilities.  Not only are these system calls specific to Linux, but
+the kernel API is likely to change and use of these system calls (in
+particular the format of the \fIcap_user_*_t\fP types) is subject to extension
+with each kernel revision, but old programs will keep working.
 .sp
-°Ü¿¢À­¤Î¤¢¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
-.BR cap_set_proc (3)
-¤È
-.BR cap_get_proc (3)
-¤Ç¤¢¤ë¡£
-²Äǽ¤Ê¤é¤Ð¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤ì¤é¤Î´Ø¿ô¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë Linux ³ÈÄ¥¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢¤è¤ê´Êñ¤Ë
-»È¤¨¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë
-.BR capsetp (3)
-¤È
-.BR capgetp (3)
-¤ò»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
-.SS ¸½ºß¤Î¾ÜºÙ
-¸½ºß¤Î¥«¡¼¥Í¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤ÆÃí°Õ¤ò½Ò¤Ù¤Æ¤ª¤¯¡£
-¹½Â¤ÂΤϰʲ¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë¡£
+移植性のあるインターフェースは \fBcap_set_proc\fP(3)  と \fBcap_get_proc\fP(3)  である。
+可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリケーションに Linux 拡張を使用したい場合には、より簡単に
+使えるインターフェースである \fBcapsetp\fP(3)  と \fBcapgetp\fP(3)  を使用すべきである。
+.SS 現在の詳細
+現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義される。
 .sp
 .nf
 .in +4n
@@ -94,158 +68,78 @@ typedef struct __user_cap_data_struct {
 .fi
 .in -4n
 .sp
-.I effective, permitted, inheritable
-¤Ï¡¢
-.BR capability (7)
-¤ÇÄêµÁ¤µ¤ì¤ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£
-.I CAP_*
-¤Ï¥Ó¥Ã¥ÈÈÖ¹æ¤òɽ¤¹¥¤¥ó¥Ç¥Ã¥¯¥¹ÃͤǤ¢¤ê¡¢
-¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ë OR ¤ò¹Ô¤¦Á°¤Ë
-.I CAP_*
-¤ÎÃͤÎʬ¤À¤±¥Ó¥Ã¥È¥·¥Õ¥È¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¡£
-typedef ¤ÎÊý¤Ï¥Ý¥¤¥ó¥¿¤Ê¤Î¤Ç¡¢
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÅϤ¹¹½Â¤ÂΤòÄêµÁ¤¹¤ë¤Ë¤Ï¡¢
-.I struct __user_cap_header_struct
-¤È
-.I struct __user_cap_data_struct
-¤È¤¤¤¦Ì¾Á°¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+The \fIeffective\fP, \fIpermitted\fP, and \fIinheritable\fP fields are bit masks of
+the capabilities defined in \fIcapability(7).\fP Note the \fBCAP_*\fP values are
+bit indexes and need to be bit\-shifted before ORing into the bit fields.  To
+define the structures for passing to the system call you have to use the
+\fIstruct __user_cap_header_struct\fP and \fIstruct __user_cap_data_struct\fP
+names because the typedefs are only pointers.
 
-¥«¡¼¥Í¥ë 2.6.25 ¤è¤êÁ°¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó
-.B _LINUX_CAPABILITY_VERSION_1
-¤Î 32 ¥Ó¥Ã¥È¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬¿ä¾©¤Ç¤¢¤ë¡£
-¥«¡¼¥Í¥ë 2.6.25 °Ê¹ß¤Ç¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó
-.B _LINUX_CAPABILITY_VERSION_2
-¤Î 64 ¥Ó¥Ã¥È¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬¿ä¾©¤Ç¤¢¤ë¡£
-64 ¥Ó¥Ã¥È¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Ç¤Ï
-.IR datap [0]
-¤È
-.IR datap [1]
-¤¬»ÈÍѤµ¤ì¤ë¤Î¤ËÂФ·¡¢
-32 ¥Ó¥Ã¥È¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Ç¤Ï
-.IR datap [0]
-¤À¤±¤¬»ÈÍѤµ¤ì¤ë¡£
+カーネル 2.6.25 より前では、バージョン \fB_LINUX_CAPABILITY_VERSION_1\fP の 32
+ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン \fB_LINUX_CAPABILITY_VERSION_2\fP の 64
+ビットケーパビリティが推奨である。 64 ビットケーパビリティでは \fIdatap\fP[0] と \fIdatap\fP[1] が使用されるのに対し、 32
+ビットケーパビリティでは \fIdatap\fP[0] だけが使用される。
 .sp
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ÎµóÆ°¤Ë±Æ¶Á¤¬¤¢¤ë¤â¤¦°ì¤Ä¤ÎÊѹ¹ÅÀ¤Ï¡¢
-¥Õ¥¡¥¤¥ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£ (file capabilities) ¤Î¥«¡¼¥Í¥ë¤Ë¤è¤ë¥µ¥Ý¡¼¥È
-(VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î¥µ¥Ý¡¼¥È) ¤Ç¤¢¤ë¡£
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î¥µ¥Ý¡¼¥È¤Ï¸½ºß¤Î¤È¤³¤í¥³¥ó¥Ñ¥¤¥ë»þ¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë
-(¥«¡¼¥Í¥ë 2.6.24 ¤ÇÄɲ䵤줿)¡£
+これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビリティ (file capabilities) のカーネルによるサポート
+(VFS ケーパビリティのサポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプションである (カーネル 2.6.24
+で追加された)。
 .sp
-.BR capget ()
-¤Ç¤Ï¡¢
-.I hdrp->pid
-¤Î¥Õ¥£¡¼¥ë¥ÉÃͤ˥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÃΤꤿ¤¤¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤ò
-»ØÄꤹ¤ë¤³¤È¤Ç¡¢Ç¤°Õ¤Î¥×¥í¥»¥¹¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SS VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Î¥µ¥Ý¡¼¥È¤Ç¤Ï¡¢Æø¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤Ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò
-Äɲ乤뤿¤á¤Î¥Õ¥¡¥¤¥ë°À­¥á¥½¥Ã¥É¤¬ºîÀ®¤µ¤ì¤¿¡£
-¤³¤ÎÆø¢¥â¥Ç¥ë¤ÎƳÆþ¤Ë¤è¤ê¡¢¤¢¤ë¥×¥í¥»¥¹¤Ë¤è¤êÊÌ¤Î¥×¥í¥»¥¹¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
-¤òÈóƱ´ü¤ËÀßÄꤹ¤ëµ¡Ç½¤Î¥«¡¼¥Í¥ë¤Ë¤è¤ë¥µ¥Ý¡¼¥È¤ÏÇѻߤµ¤ì¤ë¡£
-¤Ä¤Þ¤ê¡¢VFS ¥µ¥Ý¡¼¥È¤Ç¤Ï¡¢
-.BR capset ()
-¤ò¸Æ¤Ó½Ð¤¹ºÝ¤Ë
-.I hdrp->pid
-¤ÎÃͤȤ·¤Æµö¤µ¤ì¤ë¤Î¤Ï 0 ¤È
-.BR getpid (2)
-¤¬ÊÖ¤¹ÃͤÀ¤±¤È¤Ê¤ë (¤É¤Á¤é¤ÎÃͤǤâÅù²Á¤Ç¤¢¤ë)¡£
-.SS VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
-¥«¡¼¥Í¥ë¤¬ VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
-.I hdrp
-¤Î
-.I pid
-¥Õ¥£¡¼¥ë¥É¤¬ 0 °Ê³°¤Ç¤¢¤ì¤Ð¡¢
-.BR capset ()
-¤ÎÁàºîÂоݤÏ
-.I pid
-¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤Ë¤Ê¤ë¡£
-.I pid
-¤¬ 0 ¤Î¾ì¹ç¤Ï¸Æ¤Ó½Ð¤·¸µ¤Î¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬ÁàºîÂоݤȤʤ롣
-.I pid
-¤¬¥·¥ó¥°¥ë¥¹¥ì¥Ã¥É¡¦¥×¥í¥»¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢
-.I pid
-¤Ï°ÊÁ°¤«¤é»È¤ï¤ì¤Æ¤¤¤ë¥×¥í¥»¥¹ID ¤ò»È¤Ã¤Æ»ØÄê¤Ç¤­¤ë¡£
-¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¡¦¥×¥í¥»¥¹Æâ¤Î¤¢¤ë¥¹¥ì¥Ã¥É¤òÂоݤˤ¹¤ë¾ì¹ç¤Ï¡¢
-.BR gettid (2)
-¤¬ÊÖ¤¹¥¹¥ì¥Ã¥ÉID ¤òÍѤ¤¤Æ»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¡£
-¤Þ¤¿¡¢
-.BR capset ()
-¤Ç¤Ï \-1 ¤ä \-1 ¤è¤ê¾®¤µ¤ÊÃͤò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£
-\-1 ¤Ï¸Æ¤Ó½Ð¤·¸µ¤È
-.BR init (8)
-¤ò½ü¤¯Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤òÂоݤȤ·¤ÆÊѹ¹¤ò¹Ô¤¦¤³¤È¤ò¡¢
-\-1 ¤è¤ê¾®¤µ¤ÊÃͤϠID ¤¬ \-\fIpid\fP ¤Î¥×¥í¥»¥¹¥°¥ë¡¼¥×¤ÎÁ´¥á¥ó¥Ð
-¤òÂоݤȤ·¤ÆÊѹ¹¤ò¹Ô¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
+\fBcapget\fP()  では、 \fIhdrp\->pid\fP のフィールド値にケーパビリティを知りたいプロセスのプロセス ID を
+指定することで、任意のプロセスのケーパビリティを調べることができる。
+.SS "With VFS capability support"
+VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加するためのファイル属性メソッドが作成された。
+この特権モデルの導入により、あるプロセスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによるサポートは廃止される。 つまり、VFS
+サポートでは、 \fBcapset\fP()  を呼び出す際に \fIhdrp\->pid\fP の値として許されるのは 0 と \fBgetpid\fP(2)
+が返す値だけとなる (どちらの値でも等価である)。
+.SS "Without VFS capability support"
+カーネルが VFS ケーパビリティをサポートしていない場合、 \fIhdrp\fP の \fIpid\fP フィールドが 0 以外であれば、 \fBcapset\fP()
+の操作対象は \fIpid\fP で指定されたスレッドのケーパビリティになる。 \fIpid\fP が 0
+の場合は呼び出し元のスレッドのケーパビリティが操作対象となる。 \fIpid\fP がシングルスレッド・プロセスを参照している場合、 \fIpid\fP
+は以前から使われているプロセスID を使って指定できる。 マルチスレッド・プロセス内のあるスレッドを対象にする場合は、 \fBgettid\fP(2)
+が返すスレッドID を用いて指定する必要がある。 また、 \fBcapset\fP()  では \-1 や \-1 より小さな値を指定することもできる。 \-1
+は呼び出し元と \fBinit\fP(8)  を除く全てのスレッドを対象として変更を行うことを、 \-1 より小さな値は ID が \-\fIpid\fP
+のプロセスグループの全メンバ を対象として変更を行うことを意味する。
 
-¤³¤Î¥Ç¡¼¥¿¤Î¾ÜºÙ¤Ï
-.BR capabilities (7)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤·¡¢
-.I errno
-¤òŬÀÚ¤ËÀßÄꤹ¤ë¡£
+このデータの詳細は \fBcapabilities\fP(7)  を参照すること。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
 
-.I hdrp
-¤Î¥Õ¥£¡¼¥ë¥É
-.I version
-¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤Ãͤ¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-¸Æ¤Ó½Ð¤·¤Ï¥¨¥é¡¼
-.B EINVAL
-¤Ç¼ºÇÔ¤·¡¢
-.I version
-¤Ë¥«¡¼¥Í¥ë¿ä¾©¤Î
-.B _LINUX_CAPABILITY_VERSION_?
-¤òÀßÄꤹ¤ë¡£
-¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢¸½ºß¤Î¿ä¾©¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¡¦¥ê¥Ó¥¸¥ç¥ó¤¬²¿¤«¤ò
-Ä´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EFAULT
-ÉÔÀµ¤Ê¥á¥â¥ê¥¢¥É¥ì¥¹¡£
-.I hdrp
-¤Ï NULL ¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
-.I datap
-¤Ë NULL ¤ò»ØÄꤷ¤Æ¤è¤¤¤Î¤Ï¡¢¥æ¡¼¥¶¤¬¥«¡¼¥Í¥ë¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë
-¿ä¾©¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¡¦¥Ð¡¼¥¸¥ç¥ó¤òȽÄꤷ¤è¤¦¤È¤·¤Æ¤¤¤ë¤È¤­¤À¤±¤Ç¤¢¤ë¡£
-.TP
-.B EINVAL
-°ú¤­¿ô¤Î¤É¤ì¤«¤¬Ìµ¸ú¤Ç¤¢¤ë¡£
-.TP
-.B EPERM
-¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÄɲ䷤褦¤È¤·¤Æ¤¤¤ë¤«¡¢
-¤â¤·¤¯¤Ï¡Öµö²Ä¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë´Þ¤Þ¤ì¤Ê¤¤¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò
-¡Ö¼Â¸ú¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤ä¡Ö·Ñ¾µ²Äǽ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¥»¥Ã¥È¡×¤Ë
-¥»¥Ã¥È¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¡£
-.TP
-.B EPERM
-¸Æ¤Ó½Ð¤·¸µ¤¬¼«Ê¬°Ê³°¤Î¥¹¥ì¥Ã¥É¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò
-.BR capset ()
-¤ò»È¤Ã¤Æ½¤Àµ¤·¤è¤¦¤È¤·¤¿¤¬¡¢½½Ê¬¤ÊÆø¢¤¬¤Ê¤«¤Ã¤¿¡£
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-¤³¤ÎÁàºî¤¬µö²Ä¤µ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¡£
-VFS ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥«¡¼¥Í¥ë¤Ç¤Ï¡¢
-.B CAP_SETPCAP
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤¬É¬ÍפǤ¢¤ë¡£
-(¥Ð¡¼¥¸¥ç¥ó 2.6.11 ¤è¤êÁ°¤Î¥«¡¼¥Í¥ë¤Ë¤Ï¡¢
-¤³¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤ò»ý¤¿¤Ê¤¤¥¹¥ì¥Ã¥É¤¬
-.I pid
-¥Õ¥£¡¼¥ë¥É¤Ë 0 ¤Ç¤Ê¤¤ÃÍ (¤Ä¤Þ¤ê¡¢0 ¤ÎÂå¤ï¤ê¤Ë
-.BR getpid (2)
-¤¬ÊÖ¤¹ÃÍ) ¤ò»ØÄꤷ¤Æ¼«Ê¬¼«¿È¤Î¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÊѹ¹¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤â¡¢
-¤³¤Î¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤È¤¤¤¦¥Ð¥°¤¬¤¢¤Ã¤¿¡£)
-.TP
-.B ESRCH
-¤½¤Î¤è¤¦¤Ê¥¹¥ì¥Ã¥É¤¬Â¸ºß¤·¤Ê¤¤¡£
-.SH ½àµò
-¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux Æȼ«¤Ç¤¢¤ë¡£
-.SH È÷¹Í
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤òÀßÄꤷ¤¿¤ê¼èÆÀ¤·¤¿¤ê¤¹¤ëµ¡Ç½¤Î¤¿¤á¤Î°Ü¿¢À­¤¢¤ë
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
-.I libcap
-¥é¥¤¥Ö¥é¥ê¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤ë¡£
-¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï°Ê²¼¤«¤éÆþ¼ê¤Ç¤­¤ë:
+\fIhdrp\fP のフィールド \fIversion\fP にサポートされていない値が指定された場合、 呼び出しはエラー \fBEINVAL\fP で失敗し、
+\fIversion\fP にカーネル推奨の \fB_LINUX_CAPABILITY_VERSION_?\fP を設定する。
+このようにして、現在の推奨ケーパビリティ・リビジョンが何かを 調べることができる。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+不正なメモリアドレス。 \fIhdrp\fP は NULL であってはならない。 \fIdatap\fP に NULL
+を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・バージョンを判定しようとしているときだけである。
+.TP 
+\fBEINVAL\fP
+引き数のどれかが無効である。
+.TP 
+\fBEPERM\fP
+「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしくは「許可ケーパビリティセット」に含まれないケーパビリティを
+「実効ケーパビリティセット」や「継承可能ケーパビリティセット」に セットしようとしている。
+.TP 
+\fBEPERM\fP
+呼び出し元が自分以外のスレッドのケーパビリティを \fBcapset\fP()  を使って修正しようとしたが、十分な特権がなかった。 VFS
+ケーパビリティをサポートしているカーネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポートしていないカーネルでは、
+\fBCAP_SETPCAP\fP ケーパビリティが必要である。 (バージョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが
+\fIpid\fP フィールドに 0 でない値 (つまり、0 の代わりに \fBgetpid\fP(2)  が返す値)
+を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発生するというバグがあった。)
+.TP 
+\fBESRCH\fP
+そのようなスレッドが存在しない。
+.SH 準拠
+これらのシステムコールは Linux 独自である。
+.SH 注意
+ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェースは \fIlibcap\fP ライブラリによって提供される。
+このライブラリは以下から入手できる:
 .br
-http://www.kernel.org/pub/linux/libs/security/linux-privs
-.SH ´ØÏ¢¹àÌÜ
-.BR clone (2),
-.BR gettid (2),
-.BR capabilities (7)
+.UR http://git.kernel.org/cgit\:/linux\:/kernel\:/git\:/morgan\:\:/libcap.git
+.UE
+.SH 関連項目
+\fBclone\fP(2), \fBgettid\fP(2), \fBcapabilities\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。