Linux программирование в примерах
Шрифт:
• Концепции сохраненных set-user ID и set-group ID пришли из System V и были приняты POSIX с полной поддержкой в GNU/Linux. Наличие этих отдельных значений ID дает возможность легко и безошибочно переключать при необходимости действительные и эффективные UID (и GID).
• Программы setuid и setgid создают процессы, в которых действительные и эффективные ID различаются. Программы как таковые помечаются дополнительными битами прав доступа к файлу. Биты setuid и setgid должны быть добавлены к файлу после его создания.
•
• Функция
• Функция GLIBC
• «Липкий» бит и бит setgid при использовании с каталогами привносят дополнительную семантику. Когда для каталога установлен бит setgid, новые файлы в этом каталоге наследуют группу этого каталога. Новые каталоги делают то же самое, они также автоматически наследуют установку бита setgid. Без установленного бита setgid новые файлы и каталоги получают эффективный GID создающего их процесса. «Липкий» бит, установленный для каталогов, в которые в других отношениях разрешена запись, ограничивает право на удаление файла владельцем файла, владельцем каталога и
• Набор групп изменяется с помощью
• Изменение UID и GID довольно сложно. Семантика различных системных вызовов с течением времени изменилась. Новые приложения, которые будут изменять лишь свои эффективные UID/GID, должны использовать
• Приложения, действующие как
• Функции Linux
• Написание приложений setuid-
Упражнения
1. Напишите простую версию команды
Ее использование:
При указанном пользователе выводятся сведения об этом пользователе; в противном случае
2. Напишите простую программу с именем
3. Как вы относитесь к тому, чтобы сделать
Глава 12 Общие библиотечные интерфейсы — часть 2
В главе 6, «Общие библиотечные интерфейсы — часть 1», был представлен первый набор API библиотеки общего пользования. В некотором смысле, эти API поддерживают работу с фундаментальными объектами, которыми управляют системы Linux и Unix: время дня, пользователи и группы для файлов, сортировка и поиск.
Данная глава более эклектична; функции API, рассмотренные здесь, не особо связаны друг с другом. Однако, все они полезны в повседневном программировании под Linux/Unix. Наше представление движется от простых, более общих функций API к более сложным и более специализированным.
12.1. Операторы проверки:
Оператор проверки (assertion) является утверждением, которое вы делаете о состоянии своей программы в определенный момент времени ее исполнения. Использование операторов проверок для программирования было первоначально разработано Хоаром (C.A.R. Hoare) [121] . Общая идея является частью «верификации программы»: так же, как вы проектируете и разрабатываете программу, вы можете показать, что она правильна, делая тщательно аргументированные утверждения о проявлениях кода вашей программы. Часто такие утверждения делаются об инвариантах — фактах о состоянии программы, которые, как предполагается, остаются верными на протяжении исполнения куска программы.
121
Однако, в своей лекции в честь присуждения премии Тьюринга Ассоциации по вычислительной технике в 1981 г. д-р Хоар утверждает, что эту идею выдвинул сам Алан Тьюринг — Примеч. автора.
MARVEL: Небесный Кузнец
Фантастика:
эпическая фантастика
фэнтези
рейтинг книги
Рыцарь
5. Мост и Меч
Любовные романы:
любовно-фантастические романы
рейтинг книги
Миф
Фантастика:
научная фантастика
рейтинг книги
Опыты (Том 1)
Научно-образовательная:
философия
рейтинг книги
Шерлок Холмс. Большой сборник
Детективы:
классические детективы
рейтинг книги
Высоцкий
829. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
рейтинг книги
Я снова князь. Книга XXIII
23. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
рейтинг книги
Отморозок 1
1. Отморозок
Фантастика:
попаданцы
рейтинг книги
Сталин
1190. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
рейтинг книги
Варяжская сталь: Герой. Язычник. Княжья Русь
Варяг
Фантастика:
боевая фантастика
попаданцы
альтернативная история
рейтинг книги
Тунгусский Робинзон
Детективы:
боевики
крутой детектив
рейтинг книги
Методы статистического анализа исторических текстов (часть 2)
Научно-образовательная:
история
рейтинг книги