Как настроить использование pam_sqlite в Linux для записи информации об авторизации пользователей в базу данных SQLite?
Для настройки конфигурационного файла pam_sqlite в Linux, следуйте этим шагам: 1. Установите пакет pam_sqlite, если его еще не установлен: ``` sudo apt-get install libpam-sqlite ``` 2. Отредактируйте файл конфигурации модуля PAM по пути /etc/pam.d/, например, /etc/pam.d/common-auth: ``` sudo nano /etc/pam.d/common-auth ``` 3. Добавьте следующую строку в файл для использования модуля pam_sqlite: ``` auth [success=1 default=ignore] pam_sqlite.so db=/путь_к_базе_данных.db ``` Замените /путь_к_базе_данных.db на путь к вашей базе данных SQLite. 4. Сохраните и закройте файл. 5. Создайте базу данных SQLite и таблицу для хранения информации об авторизованных пользователях. Например, можно воспользоваться командной строкой SQLite: ``` sqlite3 /путь_к_базе_данных.db CREATE TABLE users (username TEXT PRIMARY KEY, password TEXT); ``` 6. Добавьте пользователей и их пароли в таблицу users. 7. Перезапустите службу, чтобы изменения вступили в силу: ``` sudo systemctl restart sshd ``` Теперь pam_sqlite будет использоваться для записи информации об авторизации пользователей в базу данных SQLite.
Установить <a href="https://github.com/ledav-net/pam_sqlite" rel="nofollow">pam_sqlite</a> , создать БД, добавить в /etc/pam.d/login что-нибудь типа: <br/> <code>session required pam_sqlite.so /path/to/sqlite.db</code>
Если мы говорим про этот модуль <a href="https://github.com/HormyAJP/pam_sqlite3" rel="nofollow">https://github.com/HormyAJP/pam_sqlite3</a> <br/> то он поддерживает только авторизацию (auth/account/password) из базы по логину/паролю. <br/> И не делает никакой записи о том, как прошла авторизация. <br/> <br/> Чтобы была какая-то запись, нужно использовать тип модуля <b>session</b> , в который pam_sqlite3 не умеет. <br/> <br/> <blockquote>Тип-Модуля должен быть одним из следующих:<br/>
* auth:Такой модуль проверяет наличие пользователя в системе,<br/>
спрашивает его имя, разрешает или нет доступ в ту или иную группу<br/>
(независимо от записей в файле /etc/groups) и вообще способен<br/>
давать привилегии (конечно специально предназначенные для этого).<br/>
* account: Этот модуль не занимается аутентификацией, а позволяет<br/>
контролировать распределение ресурсов системы для тех или иных<br/>
пользовательских бюджетов.<br/>
* session:А этот связан с вещами которые могут происходить перед тем<br/>
как пользователь получит доступ к той или иной службе. Например<br/>
ведение записей в системных журналах.<br/>
* password:Модуль, как следует из названия, занимающийся<br/>
непосредственно проверкой паролей на подлинность, на слабость и<br/>
т.д.</blockquote> <br/> <br/> PS. Настройки написаны на страничке по ссылке выше. <br/> <br/> PPS. А вот pam_sqlite умеет в <b>session</b> , спасибо <a href="https://qna.habr.com/user/ky0" rel="nofollow">ky0</a>