EN JA
RIGHTS(4)
RIGHTS(4) FreeBSD Kernel Interfaces Manual RIGHTS(4)

名称

Capability rightsファイル記述子のための Capsicum ケーパビリティの権利

解説

ファイル記述子が accept(2), accept4(2), fhopen(2), kqueue(2), mq_open(2), open(2), openat(2), pdfork(2), pipe(2), shm_open(2), socket(2) または socketpair(2) のような関数によって作成されるとき、すべてのケーパビリティの権利が割り当てられます。それらの権利は、 cap_rights_limit(2), cap_fcntls_limit(2)cap_ioctls_limit(2) システムコールを使用することによって縮小 (しかし、決して拡張されません) することができます。いったんケーパビリティの権利が縮小されると、ファイル記述子での操作は、 rights (権利) によって許可されたものに制限されます。

ケーパビリティの権利の完全なリストは、下記で提供されます。 cap_rights_t タイプは、ケーパビリティの権利のリストを格納するために使用されます。 cap_rights_init(3) 関数ファミリは、構造体を管理するために使用されるべきです。

権利

次の権利は、権利マスクで指定されます:
CAP_ACCEPT
accept(2)accept4(2) を許可します。
CAP_ACL_CHECK
acl_valid_fd_np(3) を許可します。
CAP_ACL_DELETE
acl_delete_fd_np(3) を許可します。
CAP_ACL_GET
acl_get_fd(3)acl_get_fd_np(3) を許可します。
CAP_ACL_SET
acl_set_fd(3)acl_set_fd_np(3) を許可します。
CAP_BIND
bind(2) を許可します。また、ソケットは、 connect(2) または send(2) の結果として暗黙のうちにバインドになることができ、 setsockopt(2) で設定されたソケットオプションも、またバインドの振る舞いに影響することに注意してください。
CAP_BINDAT
bindat(2) を許可します。この権利は、ディレクトリの記述子に存在しなければなりません。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_CHFLAGSAT
CAP_FCHFLAGSCAP_LOOKUP への別名。
CAP_CONNECT
connect(2) を許可します。また、NULL でない宛先アドレスで sendto(2) のために要求されます。
CAP_CONNECTAT
connectat(2) を許可します。この権利は、ディレクトリの記述子に存在しなければなりません。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_CREATE
O_CREAT フラグを付けた openat(2) を許可します。
CAP_EVENT
イベントのためのファイル記述子をモニタで使用される select(2), poll(2)kevent(2) を許可します。
CAP_EXTATTR_DELETE
extattr_delete_fd(2) を許可します。
CAP_EXTATTR_GET
extattr_get_fd(2) を許可します。
CAP_EXTATTR_LIST
extattr_list_fd(2) を許可します。
CAP_EXTATTR_SET
extattr_set_fd(2) を許可します。
CAP_FCHDIR
fchdir(2) を許可します。
CAP_FCHFLAGS
CAP_LOOKUP 権利も存在するなら、 fchflags(2)chflagsat(2) を許可します。
CAP_FCHMOD
CAP_LOOKUP 権利も存在するなら、 fchmod(2)fchmodat(2) を許可します。
CAP_FCHMODAT
CAP_FCHMODCAP_LOOKUP への別名。
CAP_FCHOWN
CAP_LOOKUP 権利も存在するなら、 fchown(2)fchownat(2) を許可します。
CAP_FCHOWNAT
CAP_FCHOWNCAP_LOOKUP への別名。
CAP_FCNTL
fcntl(2) を許可します。 F_GETFL, F_SETFL, F_GETOWNF_SETOWN コマンドだけがこのケーパビリティの権利を要求することに注意してください。また、 cap_fcntls_limit(2) システムコールで許可されたコマンドのリストを制限することができることに注意してください。
CAP_FEXECVE
O_EXEC フラグを付けた fexecve(2)openat(2) を許可します。また、 CAP_READ も要求されます。
CAP_FLOCK
( F_GETLK, F_SETLK, F_SETLKW または F_SETLK_REMOTE フラグを付けた) flock(2), fcntl(2) と ( O_EXLOCK または O_SHLOCK フラグを付けた) openat(2) を許可します。
CAP_FPATHCONF
fpathconf(2) を許可します。
CAP_FSCK
記述子で UFS のバックグラウンド fsck 操作をを許可します。
CAP_FSTAT
CAP_LOOKUP 権利も存在するなら、 fstat(2)fstatat(2) を許可します。
CAP_FSTATAT
CAP_FSTATCAP_LOOKUP への別名。
CAP_FSTATFS
fstatfs(2) を許可します。
CAP_FSYNC
O_FSYNC または O_SYNC フラグを付けた aio_fsync(2), fsync(2)openat(2) を許可します。
CAP_FTRUNCATE
O_TRUNC フラグを付けた ftruncate(2)openat(2) を許可します。
CAP_FUTIMES
CAP_LOOKUP 権利も存在するなら、 futimes(2)futimesat(2) を許可します。
CAP_FUTIMESAT
CAP_FUTIMESCAP_LOOKUP への別名。
CAP_GETPEERNAME
getpeername(2) を許可します。
CAP_GETSOCKNAME
getsockname(2) を許可します。
CAP_GETSOCKOPT
getsockopt(2) を許可します。
CAP_IOCTL
ioctl(2) を許可します。このシステムコールに、いくつかのオブジェクトのためのグローバルなスコープを潜在的に含んでいる、巨大なスコープがあることに注意してください。余暇された ioctl コマンドのリストは、さらに cap_ioctls_limit(2) システムコールで制限することができます。
CAP_KQUEUE
CAP_KQUEUE_CHANGECAP_KQUEUE_EVENT への別名。
CAP_KQUEUE_CHANGE
( changelist 引数が NULL でない) モニタされたイベントのリストを修正する kqueue(2) 記述子で kevent(2) を許可します。
CAP_KQUEUE_EVENT
( eventlist 引数が NULL でない) イベントをモニタする kqueue(2) 記述子で kevent(2) を許可します。また、 CAP_EVENT は、 kevent(2) を使用してモニタされるファイル記述子で要求されます。
CAP_LINKAT
宛先のディレクトリの記述子で linkat(2)renameat(2) を許可します。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_LISTEN
listen(2) を許可します。 CAP_BIND なしで (一般的に) 多く使用しません。
CAP_LOOKUP
linkat(2), openat(2)unlinkat(2) のような呼び出しのために開始するディレクトリとして使用されるファイル記述子をを許可します。
CAP_MAC_GET
mac_get_fd(3) を許可します。
CAP_MAC_SET
mac_set_fd(3) を許可します。
CAP_MKDIRAT
mkdirat(2) を許可します。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_MKFIFOAT
mkfifoat(2) を許可します。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_MKNODAT
mknodat(2) を許可します。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_MMAP
PROT_NONE 保護を付けた mmap(2) を許可します。
CAP_MMAP_R
PROT_READ 保護を付けた mmap(2) を許可します。この権利は、 CAP_READCAP_SEEK 権利を含んでいます。
CAP_MMAP_RW
CAP_MMAP_RCAP_MMAP_W への別名。
CAP_MMAP_RWX
CAP_MMAP_R, CAP_MMAP_WCAP_MMAP_X への別名。
CAP_MMAP_RX
CAP_MMAP_RCAP_MMAP_X への別名。
CAP_MMAP_W
PROT_WRITE 保護を付けた mmap(2) を許可します。この権利は、 CAP_WRITECAP_SEEK 権利を含んでいます。
CAP_MMAP_WX
CAP_MMAP_WCAP_MMAP_X への別名。
CAP_MMAP_X
PROT_EXEC 保護を付けた mmap(2) を許可します。この権利は、 CAP_SEEK 権利を含んでいます。
CAP_PDGETPID
pdgetpid(2) を許可します。
CAP_PDKILL
pdkill(2) を許可します。
CAP_PDWAIT
pdwait4(2) を許可します。
CAP_PEELOFF
sctp_peeloff(2) を許可します。
CAP_PREAD
CAP_READCAP_SEEK への別名。
CAP_PWRITE
CAP_SEEKCAP_WRITE への別名。
CAP_READ
( CAP_SEEK も要求される) aio_read(2), O_RDONLY フラグを付けた openat(2), read(2), readv(2), recv(2), recvfrom(2), recvmsg(2), ( CAP_SEEK も要求される) pread(2), ( CAP_SEEK も要求される) preadv(2) と関連するシステムコールを許可します。
CAP_RECV
CAP_READ への別名。
CAP_RENAMEAT
renameat(2) を許可します。この権利は、発信元ディレクトリの記述子で要求されます。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_SEEK
lseek(2) のようなファイル記述子でシークする操作を許可しますが、 pread(2)pwrite(2) のようなファイルのあらゆる位置で読み込みまたは書き込みすることができる I/O システムコールに必要です。
CAP_SEM_GETVALUE
sem_getvalue(3) を許可します。
CAP_SEM_POST
sem_post(3) を許可します。
CAP_SEM_WAIT
sem_wait(3)sem_trywait(3) を許可します。
CAP_SEND
CAP_WRITE への別名。
CAP_SETSOCKOPT
setsockopt(2) を許可します。これは、ソケット振る舞いの様々な側面を制御し、バインド、接続とグローバルなスコープがある他の振る舞いに影響します。
CAP_SHUTDOWN
明示的な shutdown(2) を許可します。また、ソケットをクローズすることは、一般的に、それで、あらゆる接続をシャットダウンします。
CAP_SYMLINKAT
symlinkat(2) を許可します。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_TTYHOOK
ファイル記述子で、 snp(4) のような TTY フックの設定を許可します。
CAP_UNLINKAT
unlinkat(2)renameat(2) を許可します。この権利は、宛先オブジェクトが既に存在し、rename によって削除されるなら、宛先のディレクトリの記述子でのみ renameat(2) に必要です。この権利は、 CAP_LOOKUP 権利を含んでいます。
CAP_WRITE
aio_write(2), O_WRONLYO_APPEND フラグの組を付けた openat(2), send(2), sendmsg(2), sendto(2), write(2), writev(2), pwrite(2), pwritev(2) と関連するシステムコールを許可します。 NULL でない接続アドレスがある sendto(2) について、 CAP_CONNECT も要求されます。 O_WRONLY フラグを付けたが、 O_APPEND フラグを付けない openat(2) について、 CAP_SEEK も要求されます。 aio_write(2), pwrite(2)pwritev(2) について、 CAP_SEEK も要求されます。

歴史

ケーパビリティとケーパビリティモードのサポートは、 TrustedBSD プロジェクトの一環として開発されました。

作者

このマニュアルページは、 Robert Watson <rwatson@FreeBSD.org>による cap_new(2) マニュアルページに基づいて FreeBSD 財団の資金提供の下で Pawel Jakub Dawidek <pawel@dawidek.net>によって作成されました。
September 23, 2013 FreeBSD