16.1.4. Запись с помощью utempter

16.1.4. Запись с помощью utempter

Приложения со встроенными средствами безопасности, использующие pty, имеют недостаточно полномочий для модификации файлов баз данных. Эти приложения должны предоставлять опцию для использования простой вспомогательной программы, доступной в большинстве систем Linux и в некоторых других системах, но не стандартизованной — утилиты utempter. Утилита utempter является setgid (или, при необходимости, setuid) с достаточными полномочиями для модификации баз данных utmp и wtmp. Доступ к ней можно получить через простую библиотеку. Утилита utempter проверяет, владеет ли процесс tty, который пытается войти в базу данных utmp до разрешения операции, utempter предназначена только для pty; другие tty обычно открываются демонами с достаточными полномочиями для модификации файлов системных баз данных.

#include <utempter.h>

void addToUtmp(const char *pty, const char *hostname, int ptyfd);

void removeLineFromUtmp(const char *pty, int ptyfd);

void removeFromUtmp(void);

Функция addToUtmp() принимает три аргумента. Первый, pty, является полным путем к добавляемому pty. Второй, hostname, может быть NULL или сетевым именем системы, из которой сетевое подключение использует этот порожденный pty (что запускает ut_host, рассматриваемый в следующем разделе главы). Третий, ptyfd, должен быть открытым файловым дескриптором, ссылающимся на устройство, названное в аргументе pty.

Функция removeLineFromUtmp() принимает два аргумента; они определяются в точности как аргументы с таким же именем, передаваемые функции addToUtmp().

Некоторые существующие приложения записываются с помощью структуры, усложняющей хранение имени и файлового дескриптора для очистки элемента utmp. Из-за этого библиотека utempter поддерживает кэш самого позднего имени устройства и файлового дескриптора, передаваемого addToUtmp(), и удобную функцию removeFromUtmp(), не принимающую никаких аргументов и действующую как removeLineFromUtmp() на кэшированную информацию. Это подходит только для приложений, добавляющих лишь один элемент utmp; более сложные приложения, использующие более одного pty, должны вместо этого применять removeLineFromUtmp().

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3. Запись Синтаксиса

Из книги C++ автора Хилл Мюррей

3. Запись Синтаксиса По используемым в данном руководстве синтаксическим првилам записи синтаксические категории выделяются курсивом а литеральные слова и символы шрифтом постоянной ширины. Алтернативные категории записываются на разных строках. Необзательный


Запись звука

Из книги Музыкальный центр на компьютере автора Леонтьев Виталий Петрович

Запись звука Advanced Sound Recorder Сайт: http://www.soundrecorder.netСтатус: SharewareЦена: $30…Спрашивается – на кой нам ляд отдельная программа для захвата звука? Ведь и Audition сам по этой части не лыком шит, да и в windows есть для этого стандартная программа? Не торопитесь. Безусловно, если вы захотите


Запись

Из книги Запись CD и DVD: профессиональный подход автора Бахур Виктор

Запись Вставьте чистый компакт-диск для однократной или многократной записи в привод компакт-дисков. Щелкните мышью на кнопке Запись, расположенной на панели задач проигрывателя (рис. 3.23). Для записи компакт-диска можно составить свой список, а можно воспользоваться


Запись компакт-диска с данными с помощью Nero Express

Из книги Компьютер + TV: телевидение на ПК автора Гольцман Виктор Иосифович

Запись компакт-диска с данными с помощью Nero Express Пожалуй, наиболее просто записать компакт-диск с данными. Рассмотрим, как сделать это в программе Nero Express.В окне Nero Express в области Что вы хотите записать? выполните команду Данные ? Диск с данными. Откроется окно, изображенное


Запись видео

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Запись видео Как все программы для просмотра телевидения на компьютере, утилита FlyDS умеет записывать видео в файл, что дает возможность просмотреть материал еще раз, а также поделиться им с другими. Нужно сказать, что во FlyDS эта функция реализована весьма достойно, может


Просмотр и запись

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

Просмотр и запись Познакомившись со списком программ, пришло время освоить остальные возможности Digital TV – сдвиг во времени, запись видео в файл и другие.Прежде всего рассмотрим функцию сдвига во времени, так как она будет использоваться довольно часто. Допустим,


Запись музыки

Из книги 500 лучших программ для Windows автора Уваров Сергей Сергеевич

Запись музыки Музыкальные диски бывают, как правило, трех форматов:AudioCD — в качестве носителя данных выступает CD-диск. На диск можно записать до 80 минут аудиоинформации. Учитывая, что на AudioCD поместится около 20 песен (всего!), то предпочтительнее записывать на диск


Запись видео

Из книги Справочник по PHP автора

Запись видео Как и в случае с музыкой, есть три формата видеодисков:VideoCD — самый древний формат, записывается на обычных CD-дисках. Обычный фильм помещается на двух VCD-дисках, что не очень удобно. Потребность в данном формате отпала — все современные видеопроигрыватели


6.16.5 Запись пути

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

6.16.5 Запись пути Поле записи пути (Record Route) содержит список IP-адресов маршрутизаторов, пройденных датаграммой. Каждый встретившийся по пути следования маршрутизатор пытается добавить свой выходной адрес в такой список.Но длина списка задается отправителем, и, возможно,


Запись дисков

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

Запись дисков Увеличение объемов накопляемой и сохраняемой информации неизбежно приводит к истощению ее основных носителей. Благодаря наличию пишущего привода, одноразовым и многоразовым носителям для записи информации обычной и повышенной емкости (от 650 Мбайт до 8,5


Чтение и запись

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

Чтение и запись freadЧитает из открытого файла определенное количество символов.Синтаксис:string fread(int $f, int $numbytes)Читает из файла $f $numbytes символов и возвращает строку этих символов. После чтения указатель файла продвигается к следующему после прочитанного блока позициям. Если


1.9. Запись ISO-образов

Из книги автора

1.9. Запись ISO-образов Ранее Windows умела записывать только файлы на CD/DVD. Сейчас Windows 7 умеет записывать ISO-образы на болванки, причем поддерживается запись даже на диски Blu-Ray


13.3. Запись видео с помощью камеры

Из книги автора

13.3. Запись видео с помощью камеры Постановка задачи Необходимо обеспечить пользователю возможность записи видео со своего устройства с системой iOS. Кроме того, вы сами должны иметь возможность применять это видео в своем


18.3. Чтение и запись

Из книги автора

18.3. Чтение и запись Создав маршрутизирующий сокет, процесс может отправлять ядру команды путем записи в этот сокет и считывать из него информацию от ядра. Существует 12 различных команд маршрутизации, 5 из которых могут быть запущены процессом. Они определяются в


19.2. Чтение и запись

Из книги автора

19.2. Чтение и запись Все сообщения в сокете управления ключами должны иметь одинаковые заголовки, соответствующие листингу 19.1[1]. Сообщение может сопровождаться различными расширениями в зависимости от наличия дополнительной информации или необходимости ее