'\" t
.\"     Title: authselect-profiles
.\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 2018-02-17
.\"    Manual: \ \&
.\"    Source: \ \&
.\"  Language: English
.\"
.TH "AUTHSELECT\-PROFILES" "5" "2018\-02\-17" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
authselect-profiles \- как расширить возможности профилей authselect\&.
.SH "ОПИСАНИЕ"
.sp
На этой странице руководства объясняется, как организованы профили authselect, а также как создавать новые профили\&.
.SH "КАТАЛОГИ ПРОФИЛЕЙ"
.sp
Профили находятся в одном из трех каталогов\&.
.PP
\fB/usr/share/authselect/default\fR
.RS 4
Каталог только для чтения, содержащий профили, поставляемые вместе с authselect\&.
.RE
.PP
\fB/usr/share/authselect/vendor\fR
.RS 4
Каталог только для чтения для профилей конкретных производителей, которые могут заменять профили в каталоге
\fIdefault\fR\&.
.RE
.PP
\fB/etc/authselect/custom\fR
.RS 4
Место для профилей, определяемых администратором\&.
.RE
.SH "ФАЙЛЫ ПРОФИЛЕЙ"
.sp
Каждый профиль состоит из одного или нескольких таких файлов, которые предоставляют обязательное описание профиля и описывают изменения, которые вносятся в систему\&.
.PP
\fBREADME\fR
.RS 4
Описание профиля\&. В первой строке должно быть имя профиля\&.
.RE
.PP
\fBsystem\-auth\fR
.RS 4
Стек PAM, который включен почти во все файлы конфигурации отдельных сервисов\&.
.RE
.PP
\fBpassword\-auth\fR, \fBsmartcard\-auth\fR, \fBfingerprint\-auth\fR
.RS 4
Эти стеки PAM предназначены для приложений, которые обрабатывают аутентификацию с разных типов устройств путем одновременного выполнения отдельных диалогов вместо одного совокупного разговора\&.
.RE
.PP
\fBpostlogin\fR
.RS 4
Цель этого стека PAM \- предоставить общее место для всех модулей PAM, которые должны вызываться после стека, настроенного в system\-auth или других общих файлах конфигурации PAM\&. Он включается во все файлы конфигурации отдельных служб, которые предоставляют службу входа в систему с помощью оболочки или доступа к файлам\&. _ПРИМЕЧАНИЕ: модули в файле конфигурации postlogin выполняются независимо от успеха или сбоя модулей в файле конфигурации system\-auth\&. _
.RE
.PP
\fBnsswitch\&.conf\fR
.RS 4
Файл конфигурации Name Service Switch\&. Должны быть установлены только карты, относящиеся к профилю\&. Карты, которые не указаны в профиле, включены из /etc/authselect/user\-nsswitch\&.conf\&.
.RE
.PP
\fBdconf\-db\fR
.RS 4
Изменения в базе данных dconf\&. Основной вариант использования этого файла \- установить изменения для экрана входа в gnome, чтобы включить или отключить аутентификацию смарт\-карты и отпечатка пальца\&.
.RE
.PP
\fBdconf\-locks\fR
.RS 4
Этот файл определяет блокировки значений, установленных в базе данных dconf\&.
.RE
.SS "СТРОКИ С УСЛОВИЯМИ"
.sp
Каждый из этих файлов служит шаблоном\&. Шаблон \- это простой текстовый файл с необязательным использованием нескольких операторов, которые можно использовать для предоставления некоторых дополнительных функций профиля\&.
.PP
\fB{continue if "feature"}\fR
.RS 4
Немедленно прекратить обработку файла, если не определена \(Foфункция\(Fc (остальное содержимое файла будет удалено)\&. Если "функция" определена, вся строка с этим оператором будет удалена, а остальная часть шаблона будет обработана\&.
.RE
.PP
\fB{stop if "feature"}\fR
.RS 4
Противоположность \(Focontinue if\(Fc\&. Немедленно прекратить обработку файла, если \(Foфункция\(Fc определена (остальное содержимое файла будет удалено)\&. Если "функция" не определена, вся строка с этим оператором будет удалена, а остальная часть шаблона будет обработана\&.
.RE
.PP
\fB{include if "feature"}\fR
.RS 4
Включить строку, в которой размещен этот оператор, только если \(Foфункция\(Fc определена\&.
.RE
.PP
\fB{exclude if "feature"}\fR
.RS 4
Противоположность \(Foinclude\-if\(Fc\&. Включить строку, в которой находится этот оператор, только если \(Foфункция\(Fc не определена\&.
.RE
.PP
\fB{imply "implied\-feature" if "feature"}\fR
.RS 4
Включить функциональность \(Foimplied\-feature\(Fc, если функциональность \(Foфункция\(Fc включена\&. Вся строка с этим оператором удаляется, поэтому невозможно добавить что\-либо еще вокруг этого оператора в той же строке\&.
.RE
.PP
\fB{if "feature":true|false}\fR
.RS 4
Если \(Foфункция\(Fc определена, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- строкой \(Fofalse\(Fc\&.
.RE
.PP
\fB{if "функция":true}\fR
.RS 4
Если \(Foфункция\(Fc определена, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- пустой строкой\&.
.RE
.sp
Также можно использовать логическое выражение в строке с условиями вместо указания одного имени функции\&. В этом случае выражение будет иметь значение true или false, и условный оператор будет действовать в соответствии с результатом\&.
.sp
Синтаксис выражения состоит из имен функций (например, _ "функциональность" \fI), которые возвращают _true\fR, если функция определена, или \fIfalse\fR, если она не определена, и из следующих логических операторов: \fIand\fR, \fIor\fR и \fInot\fR\&. Выражение также может быть заключено в круглые скобки и содержать несколько подвыражений\&.
.sp
Например:
.PP
\fB{if "функция1" or "функция2":true}\fR
.RS 4
Если определено \(Foфункция1\(Fc или \(Foфункция2\(Fc, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- пустой строкой\&.
.RE
.PP
\fB{if not "функция":true|false}\fR
.RS 4
Если \(Foфункция\(Fc не определена, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- строкой \(Fofalse\(Fc\&.
.RE
.PP
\fB{if not "функция":true}\fR
.RS 4
Если \(Foфункция\(Fc не определена, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- пустой строкой\&.
.RE
.PP
\fB{if "функция1" and ("функция2" or "функция3"):true}\fR
.RS 4
Если определено \(Foфункция1\(Fc и определено одно из \(Foфункция2\(Fc и \(Foфункция3\(Fc, замените этот оператор строкой \(Fotrue\(Fc, в противном случае \- пустой строкой\&.
.RE
.SS "ПРИМЕР"
.sp
Вот пример использования оператора \(Foif\(Fc\&. Если функция \(Fowith\-sudo\(Fc активирована, она добавит \(Fosss\(Fc в строку sudoers\&.
.sp
.if n \{\
.RS 4
.\}
.nf
passwd:     sss files
group:      sss files
netgroup:   sss files
automount:  sss files
services:   sss files
sudoers:    files {if "with\-sudo":sss}
.fi
.if n \{\
.RE
.\}
.sp
Вот пример операторов \(Focontinue\-if\(Fc и \(Foinclude\-if\(Fc\&. Результирующий файл будет пустым, если не включена функция \(Fowith\-smartcard\(Fc\&. Если она включена, а также включена функция \(Fowith\-faillock\(Fc, она также включит поддержку pam_faillock\&.
.sp
.if n \{\
.RS 4
.\}
.nf
{continue if "with\-smartcard"}
auth        required                                     pam_env\&.so
auth        required                                     pam_faildelay\&.so delay=2000000
auth        required                                     pam_faillock\&.so preauth silent deny=4 unlock_time=1200 {include if "with\-faillock"}
auth        [default=1 ignore=ignore success=ok]         pam_succeed_if\&.so uid >= 1000 quiet
auth        [default=1 ignore=ignore success=ok]         pam_localuser\&.so
auth        sufficient                                   pam_unix\&.so nullok
auth        requisite                                    pam_succeed_if\&.so uid >= 1000 quiet_success
auth        sufficient                                   pam_sss\&.so forward_pass
auth        required                                     pam_faillock\&.so authfail deny=4 unlock_time=1200       {include if "with\-faillock"}
auth        required                                     pam_deny\&.so
\&.\&.\&.
.fi
.if n \{\
.RE
.\}
.sp
Вот пример использования логического выражения \(Focontinue\-if\(Fc\&. Файл будет пустым, если не установлено \(Fowith\-smartcard\(Fc или \(Fowith\-smartcard\-required\(Fc\&. Это упростит вызов команды \fIauthselect select\fR, которая не должна включать обе функции, но необходима только \(Fowith\-smartcard\-required\(Fc\&.
.sp
.if n \{\
.RS 4
.\}
.nf
{continue if "with\-smartcard" or "with\-smartcard\-required"}
auth        required                                     pam_env\&.so
auth        required                                     pam_faildelay\&.so delay=2000000
auth        required                                     pam_faillock\&.so preauth silent deny=4 unlock_time=1200 {include if "with\-faillock"}
auth        [default=1 ignore=ignore success=ok]         pam_succeed_if\&.so uid >= 1000 quiet
auth        [default=1 ignore=ignore success=ok]         pam_localuser\&.so
auth        sufficient                                   pam_unix\&.so nullok
auth        requisite                                    pam_succeed_if\&.so uid >= 1000 quiet_success
auth        sufficient                                   pam_sss\&.so forward_pass
auth        required                                     pam_faillock\&.so authfail deny=4 unlock_time=1200       {include if "with\-faillock"}
auth        required                                     pam_deny\&.so
\&.\&.\&.
.fi
.if n \{\
.RE
.\}
.sp
Вот пример оператора \(Foimpy\-if\(Fc\&. Включение функции \(Fowith\-smartcard\-required\(Fc также включает \(Fowith\-smartcard\(Fc для гарантии, что используются все соответствующие модули PAM\&. Результат будет таким же, что и в предыдущем примере\&.
.sp
.if n \{\
.RS 4
.\}
.nf
{imply "with\-smartcard" if "with\-smartcard\-required"}
auth        required                                     pam_env\&.so
auth        required                                     pam_faildelay\&.so delay=2000000
auth        [success=1 default=ignore]                   pam_succeed_if\&.so service notin login:gdm:xdm:kdm:kde:xscreensaver:gnome\-screensaver:kscreensaver quiet use_uid {include if "with\-smartcard\-required"}
auth        [success=done ignore=ignore default=die]     pam_sss\&.so require_cert_auth ignore_authinfo_unavail   {include if "with\-smartcard\-required"}
auth        [default=1 ignore=ignore success=ok]         pam_succeed_if\&.so uid >= 1000 quiet
auth        [default=1 ignore=ignore success=ok]         pam_localuser\&.so                                       {exclude if "with\-smartcard"}
auth        [default=2 ignore=ignore success=ok]         pam_localuser\&.so                                       {include if "with\-smartcard"}
auth        [success=done authinfo_unavail=ignore ignore=ignore default=die] pam_sss\&.so try_cert_auth           {include if "with\-smartcard"}
auth        sufficient                                   pam_unix\&.so {if not "without\-nullok":nullok}
auth        requisite                                    pam_succeed_if\&.so uid >= 1000 quiet_success
auth        sufficient                                   pam_sss\&.so forward_pass
auth        required                                     pam_deny\&.so
\&.\&.\&.
.fi
.if n \{\
.RE
.\}
.SH "СОЗДАНИЕ НОВОГО ПРОФИЛЯ"
.sp
Чтобы зарегистрировать новый профиль в authselect, создайте каталог в одном из мест размещения профиля authselect с файлами, перечисленными выше\&. Не все файлы должны присутствовать, только * README * является обязательным\&. Другие файлы могут быть созданы по мере необходимости\&.
.sp
Команду \fBauthselect create\-profile\fR может оказаться полезной при создании нового профиля\&. См\&. страницу руководства \fBauthselect (8)\fR или воспользуйтесь командой \fBauthselect create\-profile \-\-help\fR для получения дополнительной информации\&.
.SH "СМОТРИТЕ ТАКЖЕ"
.sp
authselect(8), nsswitch\&.conf(5), PAM(8)
