Системные вызовы getuid и getgid

Узнать идентификатор пользователя, запустившего программу на исполнение, – UID и идентификатор группы, к которой он относится, – GID можно с помощью системных вызовов getuid() и getgid(), применив их внутри этой программы.

Системные вызовы getuid() и getgid() Прототипы системных вызовов #include <sys/types.h>#include <unistd.h>uid_t getuid(void);gid_t getgid(void); Описание системных вызовов Системный вызов getuid возвращает идентификатор пользователя для текущего процесса. Системный вызов getgid возвращает идентификатор группы пользователя для текущего процесса. Типы данных uid_t и gid_t являются синонимами для одного из целочисленных типов языка C.

Компиляция программ на языке C в UNIX и запуск их на счет

Теперь мы готовы к тому, чтобы написать первую программу в нашем курсе. Осталось только научиться компилировать программы на языке C и запускать их на счет. Для компиляции программ в Linux мы будем применять компилятор gcc.

Для того чтобы он нормально работал, необходимо, чтобы исходные файлы, содержащие текст программы, имели имена, заканчивающиеся на. c.

В простейшем случае откомпилировать программу можно, запуская компилятор командой

gcc имя_исходного_файла

Если программа была написана без ошибок, то компилятор создаст исполняемый файл с именем a.out. Изменить имя создаваемого исполняемого файла можно, задав его с помощью опции -o:

gcc имя_исходного_файла -o имя_исполняемого_файла

Компилятор gcc имеет несколько сотен возможных опций. Получить информацию о них вы можете в UNIX Manual.

«Узнайте у своего системного администратора», как называется компилятор с языка C для вашей операционной системы и какие опции он имеет. Обычно во всех версиях UNIX имеется компилятор с именем cc, поддерживающий опцию –о.

Запустить программу на исполнение можно, набрав имя исполняемого файла и нажав клавишу <Enter>.

Написание, компиляция и запуск программы c использованием системных вызовов getuid() и getgid()

Напишите, откомпилируйте и запустите программу, которая печатала бы идентификатор пользователя, запустившего программу, и идентификатор его группы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: