0

struct task_struct http://lxr.linux.no/linux+v2.6.30.5/include/linux/sched.h#L246で定義されているプロセスを使用して、現在のユーザーを取得するにはどうすればよいですか? ユーザーがルートかどうかを確認する必要があります。どうやら getuid を使用できません

4

3 に答える 3

2

task_uidのユーザー ID を取得するために使用できますtask_struct。またはtask_euid、それが必要な場合に使用できます。

于 2013-02-27T09:35:27.263 に答える
0

機能をお試しくださいgetlogin_r()。これは unistd.h で定義され、ユーザー名を返します。man getlogin_r他のオプションについては、をご覧ください。

int getlogin_r(char *buf, size_t bufsize);
于 2013-02-27T09:40:19.713 に答える
0

最初はわからなかったメンバー変数 uid_t uid を使用することになりました。私が使用していた(古い)Linuxのバージョンを確認し、ここで見つけました:http://lxr.linux.no/linux+v2.6.18/include/linux/sched.h#L246

ご迷惑おかけして申し訳ありません

于 2013-02-27T10:24:47.050 に答える