Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
26.05.2014
Размер:
948 б
Скачать
#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());
}

Соседние файлы в папке lab3-01
  • #
    26.05.201412.3 Кб5a.out
  • #
    26.05.2014948 б5main.c