Installing Shadow-4.0.3

Estimated build time:           0.88 SBU
Estimated required disk space:  7 MB

Contents of Shadow

Last checked against version 4.0.3.

The Shadow package was created to strengthen the security of system passwords.

Shadow installs the following:

Program Files

chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), useradd, userdel, usermod, vigr (link to vipw) and vipw

 

Shadow Installation Dependencies

Last checked against version 20001016.

Autoconf: autoconf, autoheader
Automake: aclocal, automake
Bash: sh
Binutils: ar, as, ld, nm, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
Gettext: msgfmt, xgettext
Gcc: cc1, collect2, cpp0, gcc
Glibc: ldconfig
Grep: egrep, grep
M4: m4
Make: make
Gawk: gawk
Net-tools: hostname
Sed: sed
Sh-utils: basename, echo, expr, sleep, uname
Texinfo: makeinfo
Textutils: cat, sort, tr, uniq

 

Installation of Shadow Password Suite

Before you install this package, you may want to have a look at the Shadow hint. It discusses how you can make your system more secure regarding passwords, such as how to enable the more secure MD5 passwords and how to get the most out of this Shadow package. The Shadow hint can be found at http://hints.linuxfromscratch.org/hints/shadowpasswd_plus.txt.

Prepare Shadow to be compiled:

./configure --prefix=/usr --libdir=/usr/lib \
    --enable-shared

Continue with compiling the package:

make

Install the package:

make install

Shadow uses two files to configure authentication settings for the system. Install those config files:

cp etc/{limits,login.access} /etc

/var/spool/mail is the old location of the user mailboxes. The location that is used nowadays is /var/mail. Issue the following command to modify the mailbox location:

sed 's%/var/spool/mail%/var/mail%' \
    etc/login.defs.linux > /etc/login.defs

According to the manpage of vipw, a vigr symlink should exist. Because the shadow installation procedure doesn't create this symlink, it must be created manually:

ln -s vipw /usr/sbin/vigr

The vipw link is currently pointing to a non-existing file. Since this file isn't needed here, remove it:

rm /bin/vipw

Move the sg program to the /usr/bin directory:

mv /bin/sg /usr/bin

Move Shadow's dynamic libraries to a more appropriate location:

mv /usr/lib/lib{shadow,misc}.so.0* /lib

The libraries have been moved, but some packages expect to find them in them in the /usr/lib directory. To account for this, create the following symlinks:

ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so &&
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Sh-utils and Shadow Password Suite each install a unique groups program. If you wish, you may remove the groups program installed by the Shadow Password Suite:

rm /bin/groups

 

Configuring Shadow Password Suite

This package contains utilities to modify users' passwords, add or delete users and groups, and the like. We're not going to explain what 'password shadowing' means. A full explanation can be found in the doc/HOWTO file within the unpacked shadow password suite's source tree. There's one thing to keep in mind if you decide to use shadow support: programs that need to verify passwords (for example xdm, ftp daemons, pop3 daemons) need to be 'shadow-compliant', that is they need to be able to work with shadowed passwords.

To enable shadowed passwords, run the following command:

/usr/sbin/pwconv