}
}
else
{
printf ("Error: no file to open!\n");
}
}
Собираем объектный файл.
$ cc -o shluzProg shluz.c
Запуск от пользователя, создавшего программу (проверка работоспособности программы).
$ ./shluzProg file_for_shluz
File file_for_shluz is opened.
it is file for programm Shluz.
File file_for_shluz closed.
Запуск без указания файла.
$ ./shluzProg
Error: no file to open!
Установка флага SUID.
$ chmod +s shluzProg
$ ls -l shluzProg
-rwsrwsr-x 1 gr40812_9 100 4912 Dec 01 15:53 shluzProg
Зайдем от имени другого пользователя.
$ login gr40811_9
Password:
Wed Dec 1 16:04:57 2010 on /dev/ttyp1
Last login: Wed Dec 1 15:56:10 2010 on /dev/ttyp1
edit the file .profile if you want to change your environment.
To start the Photon windowing environment, type "ph".
Попробуем открыть файл, не прибегая к помощи программы-шлюза.
$ cat file_for_shluz
file_for_shluz: Permission denied
Откроем файл с помощью программы-шлюза.
$ ./shluzProg file_for_shluz
File file_for_shluz is opened.
it is file for programm Shluz.
File file_for_shluz closed.
3.8. Утилитами df, fstab получить информацию о ФС и ОС, установленных на компьютере.
Утилита df предоставляет информацию о количестве используемого и свободного дискового пространства. По умолчанию размеры представлены, как количество 512-байтных блоков, однако это может быть изменено: с ключом –k результат будет представлен в 1024-байтных блоках, а с ключом –h – в удобной для человека форме (килобайты, мегабайты, гигабайты).
Утилита df дает информацию для каждой смонтированной файловой системы, и помимо размера и количества свободного и используемого пространства она также предоставляет информацию о точке монтирования.
Первая колонка указывает на специальные файлы устройств, с помощью которых и происходит обращение к ним (hd0 – для доступа к жесткому диску, hd0t179 – для доступа к разделу жесткого диска, cd0 – для доступа к cdrom, umass0 – для доступа к флешке, umass0t14 – для доступа к разделу флешки). Последний столбец указывает на точку монтирования, иначе говоря, куда нам следует зайти (в какой каталог), чтобы воспользоваться информацией, хранящейся на устройствах.
Файл /etc/fstab содержит информацию о смонтированных файловых системах. Он доступен для чтения для всех пользователей, однако для записи доступен только для суперпользователя. Каждая строка описывает файловую систему: местонахождение специальных файлов устройств, являющихся интерфейсом доступа к периферийным устройствам; точка монтирования; тип файловой системы; опции. Опции перечисляются через запятую и по крайней мере содержат следующую информацию: rw (для чтения и для записи) или ro (только для чтения).
В используемой версии QNX данный файл не был найден. Возможно, он и присутствует, но не виден даже для root. Аналогичный файл, но с другим названием найти не удалось.
3.9. Проанализировать все возможные способы формирования ссылок (ln, link, cp и т.д.) и подтвердить экспериментально. Предложить скрипт, подсчитывающий и перечисляющий все символические ссылки на файл в разных каталогах.
Использование утилиты ln – один из возможных способов формирования ссылок. По умолчанию утилита создает жесткую ссылку, однако с ключом –s будет создана символическая ссылка. Вызванная с ключом –i утилита будет запрашивать подтверждение, если при создании ссылки с каким-то именем, оказалось, что оно уже используется в этом каталоге.
Пример создания жесткой ссылки в текущем каталоге и подкаталоге.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.