PAM Library
Contents
Introduction to PAM Library
The PAM Library package contains Pluggable Authentication Modules. This is useful for enabling the local system administrator to choose how applications authenticate users.
RedHat develops a set of external modules for use with Linux-Pam. This includes the pam_console module which can be used by some programs such as HAL and gnome-volume-manager. The purpose of pam_console is to indicate which user is active at the console and take appropriate actions. It does this by listing active users in the /var/run/console directory and assigning one to the console.lock file.
Dependencies
Optional
Non-Multilib
If you would like to build the pam_console module run the following commands:
tar -xf ../pam-redhat-0.99.5-1.tar.bz2 && sed -i 's,modules/Makefile,& modules/pam_console/Makefile,' configure.in && sed -i 's/SUBDIRS =/& pam_console/' modules/Makefile.am && sed -i '/^permsd_DATA/d' modules/pam_console/Makefile.am && autoreconf -v
Configure and compile the package:
./configure --libdir=/usr/lib --sbindir=/lib/security \ --enable-securedir=/lib/security \ --enable-docdir=/usr/share/doc/Linux-PAM-1.1.3 \ --enable-read-both-confs && make
Install the package:
make install && chmod -v 4755 /lib/security/unix_chkpwd && mv -v /lib/security/pam_tally /sbin && mv -v /usr/lib/libpam*.so.0* /lib && LIBNAME=$(cat libpam/libpam.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") ln -sf ../../lib/$LIBNAME /usr/lib/libpam.so LIBNAME=$(cat libpamc/libpamc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") ln -sf ../../lib/$LIBNAME /usr/lib/libpamc.so LIBNAME=$(cat libpam_misc/libpam_misc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") ln -sf ../../lib/$LIBNAME /usr/lib/libpam_misc.so
Multilib
32Bit
If you would like to build the pam_console module run the following commands:
tar -xf ../pam-redhat-0.99.5-1.tar.bz2 && sed -i 's,modules/Makefile,& modules/pam_console/Makefile,' configure.in && sed -i 's/SUBDIRS =/& pam_console/' modules/Makefile.am && sed -i '/^permsd_DATA/d' modules/pam_console/Makefile.am && autoreconf -v
Configure and compile the package:
CC="gcc ${BUILD32}" ./configure --libdir=/usr/lib --sbindir=/lib/security \ --enable-securedir=/lib/security \ --enable-docdir=/usr/share/doc/Linux-PAM-1.1.3 \ --enable-read-both-confs && make
Install the package:
make install && chmod -v 4755 /lib/security/unix_chkpwd && mv -v /lib/security/pam_tally /sbin && mv -v /usr/lib/libpam*.so.0* /lib && LIBNAME=$(cat libpam/libpam.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib/$LIBNAME /usr/lib/libpam.so && LIBNAME=$(cat libpamc/libpamc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib/$LIBNAME /usr/lib/libpamc.so && LIBNAME=$(cat libpam_misc/libpam_misc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib/$LIBNAME /usr/lib/libpam_misc.so
N32
If you would like to build the pam_console module run the following commands:
tar -xf ../pam-redhat-0.99.5-1.tar.bz2 && sed -i 's,modules/Makefile,& modules/pam_console/Makefile,' configure.in && sed -i 's/SUBDIRS =/& pam_console/' modules/Makefile.am && sed -i '/^permsd_DATA/d' modules/pam_console/Makefile.am && autoreconf -v
Configure and compile the package:
CC="gcc ${BUILDN32}" ./configure --libdir=/usr/lib32 --sbindir=/lib32/security \ --enable-securedir=/lib32/security \ --enable-docdir=/usr/share/doc/Linux-PAM-1.1.3 \ --enable-read-both-confs && make
Install the package:
make install && chmod -v 4755 /lib32/security/unix_chkpwd && mv -v /lib32/security/pam_tally /sbin && mv -v /usr/lib32/libpam*.so.0* /lib32 && LIBNAME=$(cat libpam/libpam.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib32/$LIBNAME /usr/lib32/libpam.so && LIBNAME=$(cat libpamc/libpamc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib32/$LIBNAME /usr/lib32/libpamc.so && LIBNAME=$(cat libpam_misc/libpam_misc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib32/$LIBNAME /usr/lib32/libpam_misc.so
64Bit
If you would like to build the pam_console module run the following commands:
tar -xf ../pam-redhat-0.99.5-1.tar.bz2 && sed -i 's,modules/Makefile,& modules/pam_console/Makefile,' configure.in && sed -i 's/SUBDIRS =/& pam_console/' modules/Makefile.am && sed -i '/^permsd_DATA/d' modules/pam_console/Makefile.am && autoreconf -v
Configure and compile the package:
CC="gcc ${BUILD64}" ./configure --libdir=/usr/lib64 --sbindir=/lib64/security \ --enable-securedir=/lib64/security \ --enable-docdir=/usr/share/doc/Linux-PAM-1.1.3 \ --enable-read-both-confs && make
Install the package:
make install && chmod -v 4755 /lib64/security/unix_chkpwd && mv -v /lib64/security/pam_tally /sbin && mv -v /usr/lib64/libpam*.so.0* /lib64 && LIBNAME=$(cat libpam/libpam.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib64/$LIBNAME /usr/lib64/libpam.so && LIBNAME=$(cat libpamc/libpamc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib64/$LIBNAME /usr/lib64/libpamc.so && LIBNAME=$(cat libpam_misc/libpam_misc.la | grep library_names | cut -f2 -d"'" | cut -f1 -d" ") && ln -sf ../../lib64/$LIBNAME /usr/lib64/libpam_misc.so
Confuguring pam_console
You only need to view this section if you built the pam_console module.
The altering of device permissions is unnecessary. In this case, only the console locking actions are needed. Replace one of the pam_console configuration files to achieve this.
cat > /etc/security/console.handlers << "EOF" # Begin /etc/security/console.handlers console consoledevs tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] EOF
Contents
Note: The files that come with pam_console need to be added to this list.
Installed Programs: | pam_tally |
---|---|
Installed Libraries: | libpam.{so,a}, libpamc.{so,a}, libpam_misc.{so,a} |
Installed Directories: | /etc/pam.d, /etc/security, /lib/security, /usr/include/security |
Short Descriptions
pam_tally | is used to view or manipulate the faillog file. |
---|---|
libpam.{so,a} | provide the interfaces between applications and the PAM modules. |