Merge branch 'pam_userdb' into 'main'

pages: add pam_userdb

See merge request fedora/docs/fedora-linux-documentation/fedora-linux-sysadmin-guide!14
This commit is contained in:
Alix Andrieu 2023-12-14 22:31:08 +00:00
commit 2377b870c7
3 changed files with 35 additions and 0 deletions

View file

@ -37,4 +37,5 @@
*** xref:kernel-module-driver-configuration/Working_with_Kernel_Modules.adoc[Working with Kernel Modules]
** xref:RPM.adoc[RPM]
** xref:Wayland.adoc[The Wayland Display Server]
** xref:pam_userdb.adoc[pam_userdb]
** xref:Revision_History.adoc[Revision History]

View file

@ -93,6 +93,8 @@ xref:RPM.adoc[RPM]:: This appendix concentrates on the RPM Package Manager (RPM
xref:Wayland.adoc[The Wayland Display Server]:: This appendix looks at Wayland, a new display server used in GNOME for {MAJOROS} and how to troubleshoot issues with the Wayland display server.
xref:pam_userdb.adoc[pam_userdb]:: This appendix looks at pam_userdb, providing instructions on how to update to the new database provider.
include::{partialsdir}/Feedback.adoc[]
[[pref-Acknowledgments]]

View file

@ -0,0 +1,32 @@
:experimental:
include::{partialsdir}/entities.adoc[]
[[ch-pam_userdb]]
= pam_userdb
pam_userdb is a PAM module to authenticate against a db database. It is used to verify a username/password pair against values stored in a key/data pairs style database (i.e. Berkeley DB, GDBM). The database is indexed by the username, and the data fields corresponding to the username keys are the passwords. This module is most notably used in vsftpd environments.
Recently, pam_userdb switched its database provider from Berkeley DB to GDBM. If your system uses this module to authenticate users you need to convert the database to the new format.
== Determining whether you are using pam_userdb
The way to determine if you are using pam_userdb, is to check the PAM stack:
[source,bash]
----
$ grep -r pam_userdb /etc/pam.d/
/etc/pam.d/vsftpd:auth sufficient pam_userdb.so db=/etc/vsftpd/login
----
If you are not using pam_userdb, then the search will return no values and you don't have to do anything.
== Converting the database
libdb package contains a binary that will handle the conversion for you. You only need to run it by providing the source and destination database files:. Example:
[source,bash]
----
$ db_converter --src /etc/vsftpd/login.db --dest /etc/vsftpd/login.gdbm
----
== Additional Resources