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().
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Чтение и запись
Чтение и запись freadЧитает из открытого файла определенное количество символов.Синтаксис:string fread(int $f, int $numbytes)Читает из файла $f $numbytes символов и возвращает строку этих символов. После чтения указатель файла продвигается к следующему после прочитанного блока позициям. Если
18.3. Чтение и запись
18.3. Чтение и запись Создав маршрутизирующий сокет, процесс может отправлять ядру команды путем записи в этот сокет и считывать из него информацию от ядра. Существует 12 различных команд маршрутизации, 5 из которых могут быть запущены процессом. Они определяются в
19.2. Чтение и запись
19.2. Чтение и запись Все сообщения в сокете управления ключами должны иметь одинаковые заголовки, соответствующие листингу 19.1[1]. Сообщение может сопровождаться различными расширениями в зависимости от наличия дополнительной информации или необходимости ее
6.16.5 Запись пути
6.16.5 Запись пути Поле записи пути (Record Route) содержит список IP-адресов маршрутизаторов, пройденных датаграммой. Каждый встретившийся по пути следования маршрутизатор пытается добавить свой выходной адрес в такой список.Но длина списка задается отправителем, и, возможно,
Запись
Запись Вставьте чистый компакт-диск для однократной или многократной записи в привод компакт-дисков. Щелкните мышью на кнопке Запись, расположенной на панели задач проигрывателя (рис. 3.23). Для записи компакт-диска можно составить свой список, а можно воспользоваться
Запись компакт-диска с данными с помощью Nero Express
Запись компакт-диска с данными с помощью Nero Express Пожалуй, наиболее просто записать компакт-диск с данными. Рассмотрим, как сделать это в программе Nero Express.В окне Nero Express в области Что вы хотите записать? выполните команду Данные ? Диск с данными. Откроется окно, изображенное
13.3. Запись видео с помощью камеры
13.3. Запись видео с помощью камеры Постановка задачи Необходимо обеспечить пользователю возможность записи видео со своего устройства с системой iOS. Кроме того, вы сами должны иметь возможность применять это видео в своем
Запись звука
Запись звука Advanced Sound Recorder Сайт: http://www.soundrecorder.netСтатус: SharewareЦена: $30…Спрашивается – на кой нам ляд отдельная программа для захвата звука? Ведь и Audition сам по этой части не лыком шит, да и в windows есть для этого стандартная программа? Не торопитесь. Безусловно, если вы захотите
3. Запись Синтаксиса
3. Запись Синтаксиса По используемым в данном руководстве синтаксическим првилам записи синтаксические категории выделяются курсивом а литеральные слова и символы шрифтом постоянной ширины. Алтернативные категории записываются на разных строках. Необзательный
Запись дисков
Запись дисков Увеличение объемов накопляемой и сохраняемой информации неизбежно приводит к истощению ее основных носителей. Благодаря наличию пишущего привода, одноразовым и многоразовым носителям для записи информации обычной и повышенной емкости (от 650 Мбайт до 8,5
Запись музыки
Запись музыки Музыкальные диски бывают, как правило, трех форматов:AudioCD — в качестве носителя данных выступает CD-диск. На диск можно записать до 80 минут аудиоинформации. Учитывая, что на AudioCD поместится около 20 песен (всего!), то предпочтительнее записывать на диск
Запись видео
Запись видео Как и в случае с музыкой, есть три формата видеодисков:VideoCD — самый древний формат, записывается на обычных CD-дисках. Обычный фильм помещается на двух VCD-дисках, что не очень удобно. Потребность в данном формате отпала — все современные видеопроигрыватели
1.9. Запись ISO-образов
1.9. Запись ISO-образов Ранее Windows умела записывать только файлы на CD/DVD. Сейчас Windows 7 умеет записывать ISO-образы на болванки, причем поддерживается запись даже на диски Blu-Ray
Запись видео
Запись видео Как все программы для просмотра телевидения на компьютере, утилита FlyDS умеет записывать видео в файл, что дает возможность просмотреть материал еще раз, а также поделиться им с другими. Нужно сказать, что во FlyDS эта функция реализована весьма достойно, может
Просмотр и запись
Просмотр и запись Познакомившись со списком программ, пришло время освоить остальные возможности Digital TV – сдвиг во времени, запись видео в файл и другие.Прежде всего рассмотрим функцию сдвига во времени, так как она будет использоваться довольно часто. Допустим,