<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cblfs.nicewhileitlasted.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justin</id>
	<title>CBLFS - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://cblfs.nicewhileitlasted.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Justin"/>
	<link rel="alternate" type="text/html" href="https://cblfs.nicewhileitlasted.com/Special:Contributions/Justin"/>
	<updated>2026-05-21T07:06:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>?title=User:Justin&amp;diff=21306</id>
		<title>User:Justin</title>
		<link rel="alternate" type="text/html" href="?title=User:Justin&amp;diff=21306"/>
		<updated>2012-09-03T20:08:12Z</updated>

		<summary type="html">&lt;p&gt;Justin: Created page with &amp;quot;Testing SimpleCaptcha&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Testing SimpleCaptcha&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>?title=Shadow&amp;diff=21290</id>
		<title>Shadow</title>
		<link rel="alternate" type="text/html" href="?title=Shadow&amp;diff=21290"/>
		<updated>2012-09-02T15:28:19Z</updated>

		<summary type="html">&lt;p&gt;Justin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;text-align: left; background-color: AliceBlue;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!Download Source:&lt;br /&gt;
| http://pkg-shadow.alioth.debian.org/releases/shadow-{{Shadow-Version}}.tar.bz2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Blank-Package-Introduction}}&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
* [[Cracklib]]&lt;br /&gt;
* [[PAM Library]]&lt;br /&gt;
* [[libaudit]]&lt;br /&gt;
* [[libskey]]&lt;br /&gt;
* [[SELinux]]&lt;br /&gt;
&lt;br /&gt;
== Configuration Information ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed [[PAM Library]], then use this flag instead of &#039;&#039;--with-libpam&#039;&#039; in the instructions below.&lt;br /&gt;
&lt;br /&gt;
 --without-libpam&lt;br /&gt;
&lt;br /&gt;
If you have not installed [[Cracklib]], then remove this flag from the instructions below.&lt;br /&gt;
&lt;br /&gt;
 --with-libcrack&lt;br /&gt;
&lt;br /&gt;
== Non-Multilib ==&lt;br /&gt;
&lt;br /&gt;
Configure and compile the package:&lt;br /&gt;
&lt;br /&gt;
 ./configure --libdir=/lib --sysconfdir=/etc --enable-shared \&lt;br /&gt;
   --without-audit --without-selinux --with-libcrack --with-libpam &amp;amp;&amp;amp;&lt;br /&gt;
 sed -i &#039;s/groups$(EXEEXT) //&#039; src/Makefile &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;/groups.1.xml/d&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;s/groups.1 //&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Install the package:&lt;br /&gt;
&lt;br /&gt;
 make install &amp;amp;&amp;amp;&lt;br /&gt;
 mv -v /usr/bin/passwd /bin&lt;br /&gt;
&lt;br /&gt;
== Multilib ==&lt;br /&gt;
&lt;br /&gt;
=== 64Bit ===&lt;br /&gt;
&lt;br /&gt;
 CC=&amp;quot;gcc ${BUILD64}&amp;quot; ./configure --libdir=/lib64 --sysconfdir=/etc --enable-shared \&lt;br /&gt;
   --without-audit --without-selinux --with-libcrack --with-libpam &amp;amp;&amp;amp;&lt;br /&gt;
 sed -i &#039;s/groups$(EXEEXT) //&#039; src/Makefile &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;/groups.1.xml/d&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;s/groups.1 //&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Install the package:&lt;br /&gt;
&lt;br /&gt;
 make install &amp;amp;&amp;amp;&lt;br /&gt;
 mv -v /usr/bin/passwd /bin&lt;br /&gt;
&lt;br /&gt;
== Configuring ==&lt;br /&gt;
&lt;br /&gt;
=== login.defs ===&lt;br /&gt;
&lt;br /&gt;
Setup Configuration files:&lt;br /&gt;
&lt;br /&gt;
 cp etc/login.defs /etc/login.defs &lt;br /&gt;
 sed -i -e &#039;s@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@&#039; \&lt;br /&gt;
        -e &#039;s@/var/spool/mail@/var/mail@&#039; \&lt;br /&gt;
        -e &#039;s@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@&#039; /etc/login.defs&lt;br /&gt;
&lt;br /&gt;
 FUNCTIONS=&amp;quot;LASTLOG_ENAB MAIL_CHECK_ENAB PORTTIME_CHECKS_ENAB CONSOLE MOTD_FILE&lt;br /&gt;
            NOLOGINS_FILE PASS_MIN_LEN SU_WHEEL_ONLY MD5_CRYPT_ENAB CONSOLE_GROUPS&lt;br /&gt;
            ENVIRON_FILE ULIMIT ENV_TZ ENV_HZ ENV_SUPATH ENV_PATH QMAIL_DIR MAIL_DIR&lt;br /&gt;
            MAIL_FILE CHFN_AUTH FAILLOG_ENAB QUOTAS_ENAB FTMP_FILE OBSCURE_CHECKS_ENAB&lt;br /&gt;
            CRACKLIB_DICTPATH PASS_CHANGE_TRIES PASS_ALWAYS&amp;quot;&lt;br /&gt;
 for function in $FUNCTIONS; do&lt;br /&gt;
      sed -i &amp;quot;s/^$function/# &amp;amp;/&amp;quot; /etc/login.defs&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
=== [[Linux-PAM]] Services ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/login ====&lt;br /&gt;
 &lt;br /&gt;
This is the file that controls the login program&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/pam.d/login &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file for login&lt;br /&gt;
 #&lt;br /&gt;
 auth       required     pam_shells.so&lt;br /&gt;
 auth       include      system-auth&lt;br /&gt;
 auth       optional     pam_securetty.so&lt;br /&gt;
 &lt;br /&gt;
 account    required     pam_nologin.so&lt;br /&gt;
 account    include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 password   include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 session    include      system-auth&lt;br /&gt;
 session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022&lt;br /&gt;
 session    optional     pam_lastlog.so nowtmp&lt;br /&gt;
 session    optional     pam_mail.so dir=/var/mail standard&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Also make sure &#039;&#039;&#039;/etc/shells&#039;&#039;&#039; exists because the &#039;&#039;&#039;pam_shells.so&#039;&#039;&#039; module will only permit a login if your users login shell appears in &#039;&#039;&#039;/etc/shells&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/{chage chfn chgpasswd chpasswd chsh groupadd groupdel groupmems groupmod newusers passwd useradd userdel usermod} ====&lt;br /&gt;
&lt;br /&gt;
These are the files that control changing of a password&lt;br /&gt;
&lt;br /&gt;
 for file in chage chfn chgpasswd chpasswd chsh groupadd groupdel groupmems \&lt;br /&gt;
   groupmod newusers passwd useradd userdel usermod; do&lt;br /&gt;
        cat &amp;gt; /etc/pam.d/$file &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file authentication only, root ok&lt;br /&gt;
 #&lt;br /&gt;
 auth       sufficient   pam_rootok.so&lt;br /&gt;
 &lt;br /&gt;
 account    required     pam_permit.so&lt;br /&gt;
 account    include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 password   include      system-auth&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/su ====&lt;br /&gt;
&lt;br /&gt;
This is the file that controls su access&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/pam.d/su &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file for su&lt;br /&gt;
 #&lt;br /&gt;
 auth            sufficient      pam_rootok.so&lt;br /&gt;
 auth            include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 account         include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 password        include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 session         include         system-auth&lt;br /&gt;
 session         optional        pam_xauth.so&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Where to go? ===&lt;br /&gt;
&lt;br /&gt;
See [[Configuring for Adding Users]]&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Programs:&lt;br /&gt;
|login, su, nologin, faillog, lastlog, chage, chfn, chsh, expiry, gpasswd, newgrp, passwd, chgpasswd, chpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, logoutd, newusers, pwck, pwconv, pwunconv, useradd, userdel, usermod, vipw&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Libraries:&lt;br /&gt;
| &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Directories:&lt;br /&gt;
| /etc/pam.d&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Short Descriptions ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! expiry&lt;br /&gt;
| Checks and enforces the current password expiration policy &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! faillog&lt;br /&gt;
| Is used to examine the log of login failures, to set a maximum number of failures before an account is blocked, or to reset the failure count &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! gpasswd&lt;br /&gt;
| Is used to add and delete members and administrators to groups &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupadd&lt;br /&gt;
| Creates a group with the given name &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupdel&lt;br /&gt;
| Deletes the group with the given name &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupmod&lt;br /&gt;
| Is used to modify the given group&#039;s name or GID &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpck&lt;br /&gt;
| Verifies the integrity of the group files /etc/group and /etc/gshadow &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpconv&lt;br /&gt;
| Creates or updates the shadow group file from the normal group file &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpunconv&lt;br /&gt;
| Updates /etc/group from /etc/gshadow and then deletes the latter &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! lastlog&lt;br /&gt;
| Reports the most recent login of all users or of a given user &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! login&lt;br /&gt;
| Is used by the system to let users sign on &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! logoutd&lt;br /&gt;
| Is a daemon used to enforce restrictions on log-on time and ports &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! newgrp&lt;br /&gt;
| Is used to change the current GID during a login session &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! newusers&lt;br /&gt;
| Is used to create or update an entire series of user accounts &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! nologin&lt;br /&gt;
| Displays a message that an account is not available. Designed to be used as the default shell for accounts that have been disabled &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! passwd&lt;br /&gt;
| Is used to change the password for a user or group account &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwck&lt;br /&gt;
| Verifies the integrity of the password files /etc/passwd and /etc/shadow &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwconv&lt;br /&gt;
| Creates or updates the shadow password file from the normal password file &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwunconv&lt;br /&gt;
| Updates /etc/passwd from /etc/shadow and then deletes the latter &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! sg&lt;br /&gt;
| Executes a given command while the user&#039;s GID is set to that of the given group &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! su&lt;br /&gt;
| Runs a shell with substitute user and group IDs &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! useradd&lt;br /&gt;
| Creates a new user with the given name, or updates the default new-user information &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! userdel&lt;br /&gt;
| Deletes the given user account &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! usermod&lt;br /&gt;
| Is used to modify the given user&#039;s login name, User Identification (UID), shell, initial group, home directory, etc. &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! vigr&lt;br /&gt;
| Edits the /etc/group or /etc/gshadow files &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! vipw&lt;br /&gt;
| Edits the /etc/passwd or /etc/shadow files &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
	<entry>
		<id>?title=Shadow&amp;diff=21289</id>
		<title>Shadow</title>
		<link rel="alternate" type="text/html" href="?title=Shadow&amp;diff=21289"/>
		<updated>2012-09-02T15:28:10Z</updated>

		<summary type="html">&lt;p&gt;Justin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;text-align: left; background-color: AliceBlue;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
!Download Source:&lt;br /&gt;
| http://pkg-shadow.alioth.debian.org/releases/shadow-{{Shadow-Version}}.tar.bz2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Blank-Package-Introduction}}&lt;br /&gt;
&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
&lt;br /&gt;
test&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
* [[Cracklib]]&lt;br /&gt;
* [[PAM Library]]&lt;br /&gt;
* [[libaudit]]&lt;br /&gt;
* [[libskey]]&lt;br /&gt;
* [[SELinux]]&lt;br /&gt;
&lt;br /&gt;
== Configuration Information ==&lt;br /&gt;
&lt;br /&gt;
If you have not installed [[PAM Library]], then use this flag instead of &#039;&#039;--with-libpam&#039;&#039; in the instructions below.&lt;br /&gt;
&lt;br /&gt;
 --without-libpam&lt;br /&gt;
&lt;br /&gt;
If you have not installed [[Cracklib]], then remove this flag from the instructions below.&lt;br /&gt;
&lt;br /&gt;
 --with-libcrack&lt;br /&gt;
&lt;br /&gt;
== Non-Multilib ==&lt;br /&gt;
&lt;br /&gt;
Configure and compile the package:&lt;br /&gt;
&lt;br /&gt;
 ./configure --libdir=/lib --sysconfdir=/etc --enable-shared \&lt;br /&gt;
   --without-audit --without-selinux --with-libcrack --with-libpam &amp;amp;&amp;amp;&lt;br /&gt;
 sed -i &#039;s/groups$(EXEEXT) //&#039; src/Makefile &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;/groups.1.xml/d&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;s/groups.1 //&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Install the package:&lt;br /&gt;
&lt;br /&gt;
 make install &amp;amp;&amp;amp;&lt;br /&gt;
 mv -v /usr/bin/passwd /bin&lt;br /&gt;
&lt;br /&gt;
== Multilib ==&lt;br /&gt;
&lt;br /&gt;
=== 64Bit ===&lt;br /&gt;
&lt;br /&gt;
 CC=&amp;quot;gcc ${BUILD64}&amp;quot; ./configure --libdir=/lib64 --sysconfdir=/etc --enable-shared \&lt;br /&gt;
   --without-audit --without-selinux --with-libcrack --with-libpam &amp;amp;&amp;amp;&lt;br /&gt;
 sed -i &#039;s/groups$(EXEEXT) //&#039; src/Makefile &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;/groups.1.xml/d&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 find man -name Makefile -exec sed -i &#039;s/groups.1 //&#039; &#039;{}&#039; \; &amp;amp;&amp;amp;&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Install the package:&lt;br /&gt;
&lt;br /&gt;
 make install &amp;amp;&amp;amp;&lt;br /&gt;
 mv -v /usr/bin/passwd /bin&lt;br /&gt;
&lt;br /&gt;
== Configuring ==&lt;br /&gt;
&lt;br /&gt;
=== login.defs ===&lt;br /&gt;
&lt;br /&gt;
Setup Configuration files:&lt;br /&gt;
&lt;br /&gt;
 cp etc/login.defs /etc/login.defs &lt;br /&gt;
 sed -i -e &#039;s@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@&#039; \&lt;br /&gt;
        -e &#039;s@/var/spool/mail@/var/mail@&#039; \&lt;br /&gt;
        -e &#039;s@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@&#039; /etc/login.defs&lt;br /&gt;
&lt;br /&gt;
 FUNCTIONS=&amp;quot;LASTLOG_ENAB MAIL_CHECK_ENAB PORTTIME_CHECKS_ENAB CONSOLE MOTD_FILE&lt;br /&gt;
            NOLOGINS_FILE PASS_MIN_LEN SU_WHEEL_ONLY MD5_CRYPT_ENAB CONSOLE_GROUPS&lt;br /&gt;
            ENVIRON_FILE ULIMIT ENV_TZ ENV_HZ ENV_SUPATH ENV_PATH QMAIL_DIR MAIL_DIR&lt;br /&gt;
            MAIL_FILE CHFN_AUTH FAILLOG_ENAB QUOTAS_ENAB FTMP_FILE OBSCURE_CHECKS_ENAB&lt;br /&gt;
            CRACKLIB_DICTPATH PASS_CHANGE_TRIES PASS_ALWAYS&amp;quot;&lt;br /&gt;
 for function in $FUNCTIONS; do&lt;br /&gt;
      sed -i &amp;quot;s/^$function/# &amp;amp;/&amp;quot; /etc/login.defs&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
=== [[Linux-PAM]] Services ===&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/login ====&lt;br /&gt;
 &lt;br /&gt;
This is the file that controls the login program&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/pam.d/login &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file for login&lt;br /&gt;
 #&lt;br /&gt;
 auth       required     pam_shells.so&lt;br /&gt;
 auth       include      system-auth&lt;br /&gt;
 auth       optional     pam_securetty.so&lt;br /&gt;
 &lt;br /&gt;
 account    required     pam_nologin.so&lt;br /&gt;
 account    include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 password   include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 session    include      system-auth&lt;br /&gt;
 session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022&lt;br /&gt;
 session    optional     pam_lastlog.so nowtmp&lt;br /&gt;
 session    optional     pam_mail.so dir=/var/mail standard&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Also make sure &#039;&#039;&#039;/etc/shells&#039;&#039;&#039; exists because the &#039;&#039;&#039;pam_shells.so&#039;&#039;&#039; module will only permit a login if your users login shell appears in &#039;&#039;&#039;/etc/shells&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/{chage chfn chgpasswd chpasswd chsh groupadd groupdel groupmems groupmod newusers passwd useradd userdel usermod} ====&lt;br /&gt;
&lt;br /&gt;
These are the files that control changing of a password&lt;br /&gt;
&lt;br /&gt;
 for file in chage chfn chgpasswd chpasswd chsh groupadd groupdel groupmems \&lt;br /&gt;
   groupmod newusers passwd useradd userdel usermod; do&lt;br /&gt;
        cat &amp;gt; /etc/pam.d/$file &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file authentication only, root ok&lt;br /&gt;
 #&lt;br /&gt;
 auth       sufficient   pam_rootok.so&lt;br /&gt;
 &lt;br /&gt;
 account    required     pam_permit.so&lt;br /&gt;
 account    include      system-auth&lt;br /&gt;
 &lt;br /&gt;
 password   include      system-auth&lt;br /&gt;
 EOF&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
==== /etc/pam.d/su ====&lt;br /&gt;
&lt;br /&gt;
This is the file that controls su access&lt;br /&gt;
&lt;br /&gt;
 cat &amp;gt; /etc/pam.d/su &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 #&lt;br /&gt;
 # The common PAM configuration file for su&lt;br /&gt;
 #&lt;br /&gt;
 auth            sufficient      pam_rootok.so&lt;br /&gt;
 auth            include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 account         include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 password        include         system-auth&lt;br /&gt;
 &lt;br /&gt;
 session         include         system-auth&lt;br /&gt;
 session         optional        pam_xauth.so&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Where to go? ===&lt;br /&gt;
&lt;br /&gt;
See [[Configuring for Adding Users]]&lt;br /&gt;
&lt;br /&gt;
==Contents==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Programs:&lt;br /&gt;
|login, su, nologin, faillog, lastlog, chage, chfn, chsh, expiry, gpasswd, newgrp, passwd, chgpasswd, chpasswd, groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, logoutd, newusers, pwck, pwconv, pwunconv, useradd, userdel, usermod, vipw&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Libraries:&lt;br /&gt;
| &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! Installed Directories:&lt;br /&gt;
| /etc/pam.d&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Short Descriptions ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! expiry&lt;br /&gt;
| Checks and enforces the current password expiration policy &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! faillog&lt;br /&gt;
| Is used to examine the log of login failures, to set a maximum number of failures before an account is blocked, or to reset the failure count &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! gpasswd&lt;br /&gt;
| Is used to add and delete members and administrators to groups &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupadd&lt;br /&gt;
| Creates a group with the given name &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupdel&lt;br /&gt;
| Deletes the group with the given name &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! groupmod&lt;br /&gt;
| Is used to modify the given group&#039;s name or GID &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpck&lt;br /&gt;
| Verifies the integrity of the group files /etc/group and /etc/gshadow &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpconv&lt;br /&gt;
| Creates or updates the shadow group file from the normal group file &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! grpunconv&lt;br /&gt;
| Updates /etc/group from /etc/gshadow and then deletes the latter &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! lastlog&lt;br /&gt;
| Reports the most recent login of all users or of a given user &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! login&lt;br /&gt;
| Is used by the system to let users sign on &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! logoutd&lt;br /&gt;
| Is a daemon used to enforce restrictions on log-on time and ports &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! newgrp&lt;br /&gt;
| Is used to change the current GID during a login session &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! newusers&lt;br /&gt;
| Is used to create or update an entire series of user accounts &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! nologin&lt;br /&gt;
| Displays a message that an account is not available. Designed to be used as the default shell for accounts that have been disabled &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! passwd&lt;br /&gt;
| Is used to change the password for a user or group account &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwck&lt;br /&gt;
| Verifies the integrity of the password files /etc/passwd and /etc/shadow &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwconv&lt;br /&gt;
| Creates or updates the shadow password file from the normal password file &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! pwunconv&lt;br /&gt;
| Updates /etc/passwd from /etc/shadow and then deletes the latter &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! sg&lt;br /&gt;
| Executes a given command while the user&#039;s GID is set to that of the given group &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! su&lt;br /&gt;
| Runs a shell with substitute user and group IDs &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! useradd&lt;br /&gt;
| Creates a new user with the given name, or updates the default new-user information &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! userdel&lt;br /&gt;
| Deletes the given user account &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! usermod&lt;br /&gt;
| Is used to modify the given user&#039;s login name, User Identification (UID), shell, initial group, home directory, etc. &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! vigr&lt;br /&gt;
| Edits the /etc/group or /etc/gshadow files &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
! vipw&lt;br /&gt;
| Edits the /etc/passwd or /etc/shadow files &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Justin</name></author>
	</entry>
</feed>