114 lines
9.2 KiB
Groff
114 lines
9.2 KiB
Groff
.\" ** You probably do not want to edit this file directly **
|
||
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
|
||
.\" Instead of manually editing it, you probably should edit the DocBook XML
|
||
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
|
||
.TH "pw_auth" "3" "03/11/2006" "Библиотечные функции" "Библиотечные функции"
|
||
.\" disable hyphenation
|
||
.nh
|
||
.\" disable justification (adjust text to left margin only)
|
||
.ad l
|
||
.SH "НАЗВАНИЕ"
|
||
pw_auth \- выполняет процедуры проверки пароля, заданные администратором
|
||
.SH "СИНТАКСИС"
|
||
.PP
|
||
\fI#include <pwauth.h>\fR
|
||
.PP
|
||
\fIint pw_auth (char\fR\fI*command,\fR\fIchar\fR\fI*user,\fR\fIint\fR\fIreason,\fR\fIchar\fR\fI*input)\fR\fI;\fR
|
||
.SH "ОПИСАНИЕ"
|
||
.PP
|
||
\fIpw_auth\fR
|
||
вызывает функции определённые администратором для заданного пользователя.
|
||
.PP
|
||
\fIcommand\fR
|
||
задаёт название программы аутентификации. Она выбирает информацию из файла паролей пользователей. В строке содержится один или более имён исполняемых программ, разделённых точкой с запятой. Запускается каждая программа в порядке перечисления. Параметры командной строки, задаваемые для каждого основания (reason), описаны далее.
|
||
.PP
|
||
\fIuser\fR
|
||
задаётся имя пользователя, такое же как в файле
|
||
\fI/etc/passwd\fR
|
||
, для которого нужно произвести аутентификацию. Пользовательские записи упорядочены по именам пользователей. Это позволяет использовать не уникальные ID пользователей и для каждой пары имя \- ID указать свою программу аутентификации и другую информацию.
|
||
.PP
|
||
Каждое из разрешённых оснований аутентификации может обрабатываться разными способами. Если не упомянуто другое, для связи с пользователем используются стандартные файловые дескрипторы 0, 1 и 2. Для определения подлинности пользователя, делающего запрос аутентификации, может быть использован реальный ID пользователя.
|
||
\fIВ параметре reason\fR
|
||
можно указать следующее:
|
||
.TP
|
||
\fIPW_SU\fR
|
||
Выполнить аутентификацию текущего реального ID пользователя, пытающегося получить права реального ID указанного пользователя. Программа аутентификации будет вызвана с параметром
|
||
\fB\-s\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_LOGIN\fR
|
||
Выполнить аутентификацию указанного пользователя, создающего новый сеанс в системе. Программа аутентификации будет вызвана с параметром
|
||
\fB\-l\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_ADD\fR
|
||
Создать новую запись для указанного пользователя. Это позволяет программе аутентификации инициализировать место для нового пользователя. Программа аутентификации будет вызвана с параметром
|
||
\fB\-a\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_CHANGE\fR
|
||
Изменить существующую запись для указанного пользователя. Это позволяет программе аутентификации изменить информацию об аутентификации существующего пользователя. Программа аутентификации будет вызвана с параметром
|
||
\fB\-c\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_DELETE\fR
|
||
Удалить информацию об аутентификации указанного пользователя. Это позволяет программе аутентификации освободить место, занимаемое пользователем, который больше не будет аутентифицироваться с помощью программы аутентификации. Программа аутентификации будет вызвана с параметром
|
||
\fB\-d\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_TELNET\fR
|
||
Аутентифицировать пользователя пытающегося подключиться к системе с помощью команды
|
||
\fBtelnet\fR. Программа аутентификации будет вызвана с параметром
|
||
\fB\-t\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_RLOGIN\fR
|
||
Аутентифицировать пользователя пытающегося подключиться к системе с помощью команды
|
||
\fIrlogin\fR. Программа аутентификации будет вызвана с параметром
|
||
\fB\-r\fR
|
||
, за которым следует имя пользователя.
|
||
.TP
|
||
\fIPW_FTP\fR
|
||
Аутентифицировать пользователя пытающегося подключиться к системе с помощью команды
|
||
\fIftp\fR. Программа аутентификации будет вызвана с параметром
|
||
\fB\-f\fR
|
||
, за которым следует имя пользователя. Стандартные файловые дескрипторы недоступны для связи с пользователем. Стандартный файловый дескриптор ввода будет подсоединён к родительскому процессу, а другие два файловых дескриптора вывода будут подключены к устройству
|
||
\fI/dev/null\fR.
|
||
\fIpw_auth\fR
|
||
передаст по каналу единственную строку данных программе аутентификации через файловый дескриптор 0.
|
||
.TP
|
||
\fIPW_REXEC\fR
|
||
Аутентифицировать пользователя пытающегося подключиться к системе с помощью команды
|
||
\fIrexec\fR. Программа аутентификации будет вызвана с параметром
|
||
\fB\-x\fR
|
||
, за которым следует имя пользователя. Стандартные файловые дескрипторы недоступны для связи с пользователем. Стандартный файловый дескриптор ввода будет подсоединён к родительскому процессу, а другие два файловых дескриптора вывода будут подключены к устройству
|
||
\fI/dev/null\fR.
|
||
\fIpw_auth\fR
|
||
передаст по каналу единственную строку данных программе аутентификации через файловый дескриптор 0.
|
||
.PP
|
||
Последний параметр данных аутентификации используется только в случае оснований
|
||
\fIPW_FTP\fR
|
||
и
|
||
\fIPW_REXEC\fR. Он воспринимается как одиночная текстовая строка, которая передаётся по каналу программе аутентификации. Если в качестве основания указано
|
||
\fIPW_CHANGE,\fR
|
||
то значение параметра
|
||
\fIinput\fR
|
||
равно значению предыдущего имени пользователя, если имя пользователя будет изменяться.
|
||
.SH "ПРЕДОСТЕРЕЖЕНИЯ"
|
||
.PP
|
||
Данная функция не создаёт реальных сеансов. Она только определяет, разрешено ли создание сессии для указанного пользователя.
|
||
.PP
|
||
Сетевые параметры не были протестированы.
|
||
.SH "ДИАГНОСТИКА"
|
||
.PP
|
||
\fIpw_auth\fR
|
||
возвращает 0, если программа аутентификации завершила работу с кодом 0, и ненулевое значение в противном случае.
|
||
.SH "СМОТРИТЕ ТАКЖЕ"
|
||
.PP
|
||
\fBlogin\fR(1),
|
||
\fBpasswd\fR(1),
|
||
\fBsu\fR(1),
|
||
\fBuseradd\fR(8),
|
||
\fBuserdel\fR(8),
|
||
\fBusermod\fR(8).
|