| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==C ユーザ情報==
[[Programming C]]
*すべてのLinux programは、initを除いて、他のprogramまたはuserから実行される。
*内部的にはuserは、一意のuser ID UID を持っている。
*UIDには、uid_t という独自の型があり、sys/types.hで定義されている。
====getuid、getloin====
#include <&lt;sys/types.h>&gt; #include <&lt;unistd.h>&gt;
uid_t getuid(void);
char *getlogin(void);
*getuidはprogramに関連付けられているUIDを返す
*getloginは、現在のuserのlogin名を返す
#include <&lt;sys/types.h>&gt; #include <&lt;unistd.h>&gt; #include <&lt;stdio.h>&gt; #include <&lt;stdlib.h>&gt;
int main()
====getpwduid、getpwnam====
*user情報を効率的に取得するための標準的なprogramming interfaceが用意されている。
#include <&lt;sys/types.h>&gt; #include <&lt;pwd.h>&gt;
struct passwd *getpwduid(uid_t uid);
struct passwd *getpwnam(const char *name);
|}
#include <&lt;sys/types.h>&gt; #include <&lt;pwd.h>&gt; #include <&lt;unistd.h>&gt;#include <&lt;stdio.h>&gt; #include <&lt;stdlib.h>&gt;
int main()
pw = getpwuid(uid);
printf("%s %d %d %s %s\n", pw->&gt;pw_name, pw->&gt;pw_uid, pw->&gt;pw_gid, pw->&gt;pw_dir, pw->&gt;pw_shell);
exit(0);
}

案内メニュー