2013-02-27 17 views
0

Использование процесса, определенного в struct task_struct http://lxr.linux.no/linux+v2.6.30.5/include/linux/sched.h#L246 Как получить текущего пользователя? Я должен проверить, является ли пользователь root. Я, видимо, не могу использовать getuidКак получить пользователя текущего процесса

+0

Что вы намерены делать? У вас есть код, который вы можете показать? –

ответ

2

Вы можете использовать task_uid, чтобы получить идентификатор пользователя task_struct или task_euid, если это вам понадобится.

0

Try getlogin_r() функция. Он определен в unistd.h и возвращает имя пользователя. Посмотрите на man getlogin_r для других вариантов.

int getlogin_r(char *buf, size_t bufsize); 
+0

Неплохой ответ для пользовательского пространства, но ядро ​​не имеет доступа к 'getlogin_r'. – cnicutar

+0

Я думаю, что вопрос был изнутри точки ядра. –

Смежные вопросы