Man page - getgrnam(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

GETGRNAM

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
フ ã‚Ą イ ãƒĢ
åąž 性
æē– 拠
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

getgrnam, getgrnam_r, getgrgid, getgrgid_r - グ ãƒĢ ãƒŧ プ フ ã‚Ą イ ãƒĢ エ ãƒŗ ト ãƒĒ ãƒŧ ぎ 取 り å‡ē し

書 åŧ

#include <sys/types.h>
#include <grp.h>

struct group *getgrnam(const char * name );

struct group *getgrgid(gid_t gid );

int getgrnam_r(const char * name , struct group * grp ,
char *
buf , size_t buflen , struct group ** result );

int getgrgid_r(gid_t gid , struct group * grp ,
char *
buf , size_t buflen , struct group ** result );

glibc 向 け ぎ 抟 čƒŊ 検 æŸģ マ ク ロ ぎ čρ äģļ ( feature_test_macros (7) 参 į…§ ):

getgrnam_r (), getgrgid_r ():

_POSIX_C_SOURCE
|| /* glibc 2.19 äģĨ 前 : */ _BSD_SOURCE || _SVID_SOURCE

čĒŦ 明

getgrnam () é–ĸ 数 は 、 グ ãƒĢ ãƒŧ プ 名 name ãĢ マ ッ チ す る グ ãƒĢ ãƒŧ プ デ ãƒŧ ã‚ŋ ベ ãƒŧ ゚ ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を čρ į´  毎 ãĢ 分 č§Ŗ し 、 各 čρ į´  を æ ŧ į´ し た 構 造 äŊ“ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を čŋ” す (パ ゚ ワ ãƒŧ ド デ ãƒŧ ã‚ŋ ベ ãƒŧ ゚ ぎ 例 : ロ ãƒŧ ã‚Ģ ãƒĢ ぎ グ ãƒĢ ãƒŧ プ フ ã‚Ą イ ãƒĢ /etc/group , NIS, LDAP)。

getgrgid () é–ĸ 数 は 、 グ ãƒĢ ãƒŧ プ ID uid ãĢ マ ッ チ す る グ ãƒĢ ãƒŧ プ デ ãƒŧ ã‚ŋ ベ ãƒŧ ゚ ぎ エ ãƒŗ ト ãƒĒ ãƒŧ を čρ į´  毎 ãĢ 分 č§Ŗ し 、 各 čρ į´  を æ ŧ į´ し た 構 造 äŊ“ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を čŋ” す 。

group 構 造 äŊ“ は <grp.h> で äģĨ 下 ぎ よ う ãĢ 厚 įžŠ さ れ ãĻ い る :

struct group {
char *gr_name; /* グ ãƒĢ ãƒŧ プ 名 */
char *gr_passwd; /* グ ãƒĢ ãƒŧ プ ぎ パ ゚ ワ ãƒŧ ド */
gid_t gr_gid; /* グ ãƒĢ ãƒŧ プ ID */
char **gr_mem; /* グ ãƒĢ ãƒŧ プ ぎ ãƒĄ ãƒŗ バ 名 へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ
ぎ 配 列 (配 列 は ヌ ãƒĢ で įĩ‚ į̝ す る ) */
};

こ ぎ 構 造 äŊ“ ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド ぎ čŠŗ į´° は group (5) を 参 į…§ ぎ こ と 。

getgrnam_r () と getgrgid_r () é–ĸ 数 は 、 そ れ ぞ れ getgrnam () と getgrgid () と 同 じ 情 å ą を 取 åž— す る が 、 取 åž— し た group 構 造 äŊ“ を grp が 指 す 領 域 ãĢ æ ŧ į´ す る 。 group 構 造 äŊ“ ぎ ãƒĄ ãƒŗ バ ãƒŧ が 指 す 文 字 列 は 、 ã‚ĩ イ ã‚ē buflen ぎ バ ッ フ ã‚Ą ãƒŧ buf ãĢ æ ŧ į´ さ れ る 。 成 功 し た å ´ 合 *gbufp ãĢ は įĩ 果 へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ が æ ŧ į´ さ れ る 。 エ ãƒŗ ト ãƒĒ ãƒŧ が čĻ‹ つ か ら ãĒ か ãŖ た å ´ 合 や エ ナ ãƒŧ が į™ē į”Ÿ し た å ´ 合 ãĢ は *result ãĢ は NULL が å…Ĩ る 。

å‘ŧ ãŗ å‡ē し

sysconf(_SC_GETGR_R_SIZE_MAX)

は 、 errno を 変 更 せ ず ãĢ -1 を čŋ” す か 、 buf ぎ 初 期 ã‚ĩ イ ã‚ē ぎ 推 åĨ¨ 値 を čŋ” す 。 (こ ぎ ã‚ĩ イ ã‚ē が 小 さ す ぎ る å ´ 合 、 å‘ŧ ãŗ å‡ē し は ERANGE で å¤ą 敗 し 、 こ ぎ å ´ 合 ãĢ は å‘ŧ ãŗ å‡ē し 側 は バ ッ フ ã‚Ą ãƒŧ を 大 き く し ãĻ か ら 再 åēĻ å‘ŧ ãŗ å‡ē す こ と が で き る 。 )

čŋ” り 値

getgrnam () と getgrgid () é–ĸ 数 は 、 group 構 造 äŊ“ へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を čŋ” す 。 マ ッ チ す る エ ãƒŗ ト ãƒĒ ãƒŧ が čĻ‹ つ か ら ãĒ か ãŖ た å ´ 合 や 、 エ ナ ãƒŧ が į™ē į”Ÿ し た å ´ 合 は NULL を čŋ” す 。 エ ナ ãƒŧ が čĩˇ こ ãŖ た å ´ 合 、 errno が 遊 切 ãĢ 設 厚 さ れ る 。 å‘ŧ ãŗ å‡ē し ぎ 垌 で errno を チ ェ ッ ク し た い å ´ 合 は 、 å‘ŧ ãŗ å‡ē し ぎ 前 ãĢ (こ ぎ 値 を ) 0 ãĢ 設 厚 し ãĻ お く ず き で あ る 。

čŋ” り 値 は 静 įš„ ãĒ 領 域 を 指 し ãĻ お り 、 そ ぎ 垌 ぎ getgrent (3), getgrgid (), getgrnam () ぎ å‘ŧ ãŗ å‡ē し で 上 書 き さ れ る か も し れ ãĒ い 。 (čŋ” さ れ た ポ イ ãƒŗ ã‚ŋ ãƒŧ を free (3) ãĢ æ¸Ą さ ãĒ い こ と 。 )

成 功 す る と 、 getgrnam_r () と getgrgid_r () は 0 を čŋ” し 、 *result ãĢ grp を 設 厚 す る 。 マ ッ チ す る グ ãƒĢ ãƒŧ プ エ ãƒŗ ト ãƒĒ ãƒŧ が čĻ‹ つ か ら ãĒ か ãŖ た å ´ 合 ãĢ は 、 0 を čŋ” し 、 *result ãĢ NULL を 設 厚 す る 。 エ ナ ãƒŧ ぎ å ´ 合 、 エ ナ ãƒŧ į•Ē åˇ を čŋ” し 、 *result ãĢ NULL を 設 厚 す る 。

エ ナ ãƒŧ

0 ぞ た は ENOENT ぞ た は ESRCH ぞ た は EBADF ぞ た は EPERM ぞ た は ...

指 厚 さ れ た name ぞ た は gid が čĻ‹ つ か ら ãĒ か ãŖ た 。

EINTR

ã‚ˇ グ ナ ãƒĢ が 捕 捉 さ れ た 。 signal (7) 参 į…§ 。

EIO

I/O エ ナ ãƒŧ 。

EMFILE

ã‚Ē ãƒŧ プ ãƒŗ さ れ た フ ã‚Ą イ ãƒĢ デ ã‚Ŗ ゚ ク ãƒĒ プ ã‚ŋ ãƒŧ 数 が プ ロ ã‚ģ ゚ 毎 ぎ 上 限 ãĢ 達 し ãĻ い る 。

ENFILE

ã‚Ē ãƒŧ プ ãƒŗ さ れ た フ ã‚Ą イ ãƒĢ ぎ įˇ 数 が ã‚ˇ ゚ テ ム 全 äŊ“ ぎ 上 限 ãĢ 達 し ãĻ い る 。

ENOMEM

group 構 造 äŊ“ を 剞 り åŊ“ ãĻ る た め ぎ ãƒĄ ãƒĸ ãƒĒ ãƒŧ が 不 十 分 。

ERANGE

与 え ら れ た バ ッ フ ã‚Ą ãƒŧ įŠē 間 が 不 十 分 で あ る 。

フ ã‚Ą イ ãƒĢ

/etc/group

ロ ãƒŧ ã‚Ģ ãƒĢ ぎ グ ãƒĢ ãƒŧ プ デ ãƒŧ ã‚ŋ ベ ãƒŧ ゚ フ ã‚Ą イ ãƒĢ

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-22684-1.png

æē– 拠

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

æŗ¨ 意

上 記 ぎ 「 čŋ” り 値 」 äģĨ 下 ぎ 記 čŋ° は POSIX.1 ãĢ 拠 る 。 こ ぎ 標 æē– は 「 (エ ãƒŗ ト ãƒĒ ãƒŧ が ) čĻ‹ つ か ら ãĒ い こ と 」 を エ ナ ãƒŧ と し ãĻ い ãĒ い ぎ で 、 そ ぎ よ う ãĒ å ´ 合 ãĢ errno が お ぎ よ う ãĒ 値 ãĢ ãĒ る か を 厚 め ãĻ い ãĒ い 。 そ ぎ た め 、 エ ナ ãƒŧ を čĒ 識 す る こ と は 不 可 čƒŊ で あ る 。 POSIX ãĢ æē– 拠 し ãĻ 、 エ ãƒŗ ト ãƒĒ ãƒŧ が čĻ‹ つ か ら ãĒ い å ´ 合 は errno を 変 更 し ãĒ い よ う ãĢ す ず き で あ る 、 と ä¸ģ åŧĩ す る äēē も い る か も し れ ãĒ い 。 様 々 ãĒ UNIX įŗģ ぎ ã‚ˇ ゚ テ ム で čŠĻ し ãĻ ãŋ る と 、 そ ぎ よ う ãĒ å ´ 合 ãĢ は 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM と い ãŖ た 様 々 ãĒ 値 が čŋ” さ れ る 。 äģ– ãŽ 値 が čŋ” さ れ る か も し れ ãĒ い 。

é–ĸ 逪 項 į›Ž

endgrent (3), fgetgrent (3), getgrent (3), getpwnam (3), setgrent (3), group (5)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。