FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 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 は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | アドレッシング | 制御メッセージ | ソケットオプション | 関連項目
UNIX(4)            FreeBSD カーネルインタフェースマニュアル            UNIX(4)

名称
     unix -- UNIX ドメインプロトコルファミリ

書式
     #include <sys/types.h>
     #include <sys/un.h>

解説
     UNIX ドメインプロトコルファミリは、通常の socket(2) メカニズムを介して
     ローカル (マシンの) プロセス間通信を提供するプロトコルの集まりです。UNIX
     ドメインファミリは、SOCK_STREAM, SOCK_SEQPACKET と SOCK_DGRAM ソケットタ
     イプをサポートし、アドレシングにファイルシステムのパス名を使用します。

アドレッシング
     UNIX ドメインのアドレスは、多くても 104 の文字の可変長のファイルシステム
     パス名です。インクルードファイル <sys/un.h> は、次のアドレスを定義してい
     ます:

           struct sockaddr_un {
                   u_char  sun_len;
                   u_char  sun_family;
                   char    sun_path[104];
           };

     bind(2) で UNIX ドメインソケットに名前をバインドすることによって、ファイ
     ルシステムにソケットファイルを作成されます。このファイルは、ソケットがク
     ローズされても削除されません -- ファイルを削除するためには、unlink(2) を
     使用しなければなりません。

     bind(2)connect(2) によって要求される UNIX ドメインアドレスの長さは、
     <sys/un.h> で定義されたマクロ SUN_LEN() を使用して計算することができま
     す。sun_path フィールドは、SUN_LEN() で使用されるためにヌル文字で終了して
     いなければなりませんが、終端のヌルは、アドレスの一部ではありません。

     UNIX ドメインプロトコルファミリは、着信メッセージでブロードキャストアドレ
     シングも ``ワイルドカード'' に適合するどんな形式もサポートしていません。
     すべてのアドレスは、他の UNIX ドメインソケットの絶対的パス名か相対的パス
     名です。また、パス名を参照するとき、通常のファイルシステムアクセス制御メ
     カニズムが適用されます。例えば、connect(2) または sendto(2) の宛先は、書
     き込み可能でなければなりません。

制御メッセージ
     UNIX ドメインソケットは、UNIX ファイル記述子の通信をサポートし、
     sendmsg(2)recvmsg(2) への msg 引数の msg_control フィールドの使用を通
     して資格証明を処理します。渡される項目は、インクルードファイル
     <sys/socket.h> で定義されている struct cmsghdr を使用して記述されていま
     す。

     ファイル記述子を送信するために、メッセージのタイプは、SCM_RIGHTS であり、
     メッセージのデータ部分は、渡されるファイル記述子を表される整数の配列で
     す。渡される記述子の数は、メッセージの長さのフィールドによって定義されま
     す。長さのフィールドは、ヘッダのサイズとファイル記述子配列のサイズの合計
     です。

     受信された記述子は、MSG_CMSG_CLOEXEC が recvmsg(2) 呼び出しで渡されるかど
     うかに依存する dup(fd) または fcntl(fd, F_DUPFD_CLOEXEC, 0) を通して作成
     されたかのように、送信側の記述子の複写です。配信を待っているか、または故
     意に受信されない記述子は、宛先ソケットがクローズされるとき、システムに
     よって自動的にクローズされます。

     次のような <sys/socket.h> で定義されるタイプ struct cmsgcred のデータ部分
     があるタイプ SCM_CREDS の制御メッセージを明示的に使用して送信プロセスの資
     格証明を送信することができます:

     struct cmsgcred {
       pid_t cmcred_pid;             /* 送信プロセスの PID */
       uid_t cmcred_uid;             /* 送信プロセスの実 UID */
       uid_t cmcred_euid;            /* 送信プロセスの実効 UID */
       gid_t cmcred_gid;             /* 送信プロセスの実 GID */
       short cmcred_ngroups;         /* グループの数 */
       gid_t cmcred_groups[CMGROUP_MAX];     /* グループ */
     };

     送信側は、システムによって満たされたゼロクリアされたバッファを渡すべきで
     す。

     グループリストは、多くても CMGROUP_MAX GID に切り詰められます。

     プロセス ID cmcred_pid は、セキュリティの決定を行うために (KERN_PROC_PID
     sysctl を経るかのように) 検索されるべきではありません。送信プロセスが、終
     了しましたが、そのプロセス ID は、新しいプロセスのために、すでに再利用さ
     れています。

ソケットオプション
     UNIX ドメインソケットは、setsockopt(2) で設定され、getsockopt(2) でテスト
     することができる多くのソケットオプションをサポートします:

     LOCAL_CREDS     このオプションは、SOCK_DGRAM, SOCK_SEQPACKET または
                     SOCK_STREAM ソケットで有効にされるかもしれません。このオ
                     プションは、recvmsg(2) 制御メッセージとして write(2),
                     send(2), sendto(2) または sendmsg(2) を呼び出しているプロ
                     セスの資格証明を受信する受信側のメカニズムを提供していま
                     す。cmsghdr 構造体を含むバッファを指す msghdr 構造体の
                     msg_control フィールドは、次の <sys/socket.h> で定義され
                     た可変長の sockcred 構造体が後に続きます:

                     struct sockcred {
                       uid_t sc_uid;         /* 実ユーザ ID */
                       uid_t sc_euid;        /* 実効ユーザ ID */
                       gid_t sc_gid;         /* 実グループ ID */
                       gid_t sc_egid;        /* 実効グループ ID */
                       int   sc_ngroups;     /* 追加グループの数 */
                       gid_t sc_groups[1];   /* 可変長 */
                     };

                     現在の実装は、グループリストを多くても CMGROUP_MAX グルー
                     プに切り詰めます。

                     SOCKCREDSIZE() マクロは、指定された数のグループのための
                     sockcred 構造体のサイズを計算します。cmsghdr フィールドに
                     は、次の値があります:

                     cmsg_len = CMSG_LEN(SOCKCREDSIZE(ngroups))
                     cmsg_level = SOL_SOCKET
                     cmsg_type = SCM_CREDS

                     SOCK_STREAM と SOCK_SEQPACKET のソケット資格証明は、最初
                     にソケットから読み込まれたもののみ渡され、次に、システム
                     は、ソケットのオプションをクリアします。

                     このオプションと上記の明示的 struct cmsgcred の両方は、同
                     じ値 SCM_CREDS を使用しますが、互換性がない制御メッセージ
                     です。このオプションが有効にされ、送信側が struct
                     cmsgcred で SCM_CREDS 制御メッセージをアタッチしたなら、
                     それは、破棄され、struct sockcred が、含まれます。

                     多くの setuid プログラムは、エラーメッセージのような呼び
                     出し側によって少なくとも部分的に制御されたデータを
                     write(2) (書き込みます)。したがって、特定の sc_euid 値に
                     付随しているメッセージは、そのユーザからであるように信頼
                     されるべきではありません。

     LOCAL_CONNWAIT  SOCK_STREAM ソケットを使用して、このオプションによって
                     connect(2) は、accept(2) が listen (接続を受け付け) して
                     いるソケットで呼び出されるまで、ブロックします。

     LOCAL_PEERCRED  SOCK_STREAM で getsockopt(2) によって要求されたソケット
                     は、リモート側の資格証明を返します。これらは、次のように
                     <sys/ucred.h> で定義された xucred 構造体に書き込まれた形
                     式で到達します:

                     struct xucred {
                       u_int cr_version;             /* 構造体レイアウト
                                                        バージョン */
                       uid_t cr_uid;                 /* 実効ユーザ ID */
                       short cr_ngroups;             /* グループの数 */
                       gid_t cr_groups[XU_NGROUPS];  /* グループ */
                     };
                     cr_version フィールドは、XUCRED_VERSION 定義と照合される
                     べきです。

                     サーバ (listen(2) の呼び出し側) に提出された資格証明は、
                     connect(2) を呼び出したとき、クライアントの資格証明です。
                     クライアント connect(2) の呼び出し側) に提出された資格証
                     明は、listen(2) を呼び出したとき、サーバの資格証明です。
                     このメカニズムは、信頼できます。異なる有効な資格証明の下
                     で適切なシステムコール (例えば、connect(2) または
                     listen(2)) を呼び出すことによる場合を除いて、そのピア (相
                     手側) に提出された資格証明に影響を及ぼす、いずれかの当事
                     者 (party) のための方法はありません。

                     SOCK_DGRAM で信頼されるピア (相手側) の資格証明を得るため
                     には、ソケットは、LOCAL_CREDS ソケットオプションを参照し
                     ます。

関連項目
     connect(2), dup(2), fcntl(2), getsockopt(2), listen(2), recvmsg(2),
     sendto(2), setsockopt(2), socket(2), intro(4)

     "An Introductory 4.3 BSD Interprocess Communication Tutorial", PS1, 7.

     "An Advanced 4.3 BSD Interprocess Communication Tutorial", PS1, 8.

FreeBSD 11.2                   February 3, 2017                   FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索