書式
getent database [key ...]説明
getent コマンドは、 名前サービス切り替えライブラリでサポートされているデータベースのエントリーを表示する。 名前サービス切り替えライブラリの設定は /etc/nsswitch.conf で行う。 一つ以上の key 引き数が指定されると、 指定されたキーにマッチするエントリーだけが表示される。 key が指定されなかった場合、 すべてのエントリーが表示される (データベースで列挙 (enumeration) がサポートされていない場合を除く)。database には GNU C ライブラリでサポートされているデータベースのいずれかを指定できる。 以下にそのリストを示す。
-
- ahosts
- key が指定されなかった場合、 sethostent(3), gethostent(3), endhostent(3) を使用して hosts データベースを列挙する。 これは hosts を使うのと全く同じである。 key 引き数が一つ以上指定された場合は、 それぞれの key についてアドレスファミリー AF_UNSPEC で getaddrinfo(3) を呼び出し、 返された各々のソケットアドレス構造体を列挙する。
- ahostsv4
- ahosts を同じだが、 アドレスファミリーとして AF_INET を使用する。
- ahostsv6
- ahosts を同じだが、 アドレスファミリーとして AF_INET6 を使用する。 この場合の getaddrinfo(3) の呼び出しでは AI_V4MAPPED も指定される。
- aliases
- key が指定されなかった場合、 setaliasent(3), getaliasent(3), endaliasent(3) を使用して aliases データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key についてgetaliasbyname(3) を呼び出し、 結果を表示する。
- ethers
- key 引き数が一つ以上指定された場合、 結果が得られるまで、 それぞれの key について ether_aton(3) と ether_hostton(3) を順に呼び出し、 結果を表示する。 ethers では列挙はサポートされていない。 したがって、 key は指定しなければならない。
- group
- key が指定されなかった場合、 setgrent(3), getgrent(3), endgrent(3) を使用して group データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getgrgid(3) を、 数値以外であれば getgrnam(3) を呼び出し、 結果を表示する。
- gshadow
- key が指定されなかった場合、 setsgent(3), getsgent(3), endsgent(3) を使用して gshadow データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について getsgnam(3) を呼び出し、 結果を表示する。
- hosts
- key が指定されなかった場合、 sethostent(3), gethostent(3), endhostent(3) を使用して hosts データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について gethostbyaddr(3) か gethostbyname2(3) を呼び出し、 結果を表示する。 gethostbyaddr(3) か gethostbyname2(3) のどちらを呼び出すかは、inet_pton(3) の呼び出しで、 key が IPv6 や IPv4 アドレスか、 そうでないか、 判定され、その結果によって決まる。
- initgroups
- key 引き数が一つ以上指定された場合、 結果が得られるまで、 それぞれの key について getgrouplist(3) を呼び出し、 結果を表示する。 initgroups では列挙はサポートされていない。 したがって、 key は指定しなければならない。
- netgroup
- 1 個の key を指定すると、 その key を setnetgrent(3) に渡し、 getnetgrent(3) を使って結果の 3 つ組の文字列 (hostname, username, domainname) を表示する。 代わりに、 3 個の key を指定することもできる。 3 個の key は hostname, username, domainname と解釈され、 innetgr(3) を使って対応する netgroup があるか照合される。 netgroup では列挙はサポートされていない。 したがって、 1 個か 3 個のいずれかの key を指定しなければならない。
- networks
- key が指定されなかった場合、 setnetent(3), getnetent(3), endnetent(3) を使用して networks データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getnetbyaddr(3) を、 数値以外であれば getnetbyname(3) を呼び出し、 結果を表示する。
- passwd
- key が指定されなかった場合、 setpwent(3), getpwent(3), endpwent(3) を使用して passwd データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getpwgid(3) を、 数値以外であれば getpwnam(3) を呼び出し、 結果を表示する。
- protocols
- key が指定されなかった場合、 setprotoent(3), getprotoent(3), endprotoent(3) を使用して protocols データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getprotobynumber(3) を、 数値以外であれば getprotobyname(3) を呼び出し、 結果を表示する。
- rpc
- key が指定されなかった場合、 setrpcent(3), getrpcent(3), endrpcent(3) を使用して rpc データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getrpcbynumber(3) を、 数値以外であれば getrpcbyname(3) を呼び出し、 結果を表示する。
- services
- key が指定されなかった場合、 setservent(3), getservent(3), endservent(3) を使用して services データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について、 数値であれば getservbynumber(3) を、 数値以外であれば getservbyname(3) を呼び出し、 結果を表示する。
- shadow
- key が指定されなかった場合、 setspent(3), getspent(3), endspent(3) を使用して shadow データベースを列挙する。 key 引き数が一つ以上指定された場合は、 それぞれの key について getspnam(3) を呼び出し、 結果を表示する。
終了ステータス
getent は以下のいずれかの終了ステータスを返す。-
- 0
- コマンドが正常に完了した。
- 1
- 引き数が不足しているか、 知らない database が指定された。
- 2
- 指定された key が database で見つからなかった。
- 3
- この database では列挙はサポートされていない。
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。