Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / VD / BuH / lab3-01 / main
.c#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
main()
{
char *smth;
int uid, gid, fd;
uid = getuid();
gid = getgid();
fd = open ("/usr/home/BuH/os/cpp/lab3-01/superfile", "O_RDONLY");
if (fd==-1)
{
printf ("ERROR OPENING FILE!!!! \nErrno:%d : %s\n",errno, strerror(errno));
}
close(fd);
if (setgid(1002) == 0)
{
printf("OK SETITNG GID! %d\n", getgid());
} else {
printf ("ERROR SETTING GID!!!! \nErrno:%d : %s\n",errno, strerror(errno));
}
if (setuid(1002) == 0)
{
printf("OK SETITNG UID! %d\n", getuid());
} else {
printf ("ERROR SETTING UID!!!! \nErrno:%d : %s\n",errno, strerror(errno));
}
fd = open ("/usr/home/BuH/os/cpp/lab3-01/superfile", "O_RDONLY");
if (fd==-1)
{
printf ("ERROR OPENING FILE!!!! \nErrno:%d : %s\n",errno, strerror(errno));
}
if (read (fd, smth, 10)>=0)
{
printf("OK!!!!\n");
} else {
printf("Fail!!!!\n");
}
printf ("UID: %d ; GID: %d\n",getuid(),getgid());
}