Installing Shadow-&shadow-version;
The Shadow package contains programs for handling passwords in a secure
way.
&buildtime; &shadow-time;
&diskspace; &shadow-compsize;
&aa-shadow-down;
&aa-shadow-dep;
Installation of Shadow
Shadow hard-wires the path to the passwd binary
within the binary itself, but does this the wrong way. If a
passwd binary is not present before installing Shadow,
the package incorrectly assumes it is going to be located at
/bin/passwd, but then installs it in
/usr/bin/passwd. This will lead to errors about not finding
/bin/passwd. To work around this bug, create a dummy
passwd file, so that it gets hard-wired properly:
touch /usr/bin/passwd
Now prepare Shadow for compilation:
./configure --libdir=/usr/lib --enable-shared
Work around a problem that prevents Shadow's internationalization from
working:
echo '#define HAVE_SETLOCALE 1' >> config.h
Compile the package:
make
And install it:
make install
Shadow uses two files to configure authentication settings for the
system. Install these two config files:
cp etc/{limits,login.access} /etc
We want to change the password method to enable MD5 passwords which are
theoretically more secure than the default crypt method and also allow
password lengths greater than 8 characters. We also need to change the old
/var/spool/mail location for user
mailboxes to the current location at
/var/mail. We do this by changing the
relevant configuration file while copying it to its destination:
sed -e 's%/var/spool/mail%/var/mail%' \
-e 's%#MD5_CRYPT_ENAB.no%MD5_CRYPT_ENAB yes%' \
etc/login.defs.linux > /etc/login.defs
Be extra careful when typing all of the above. It is probably safer
to cut-and-paste it rather than try and type it all in.
Move some misplaced symlinks to their proper locations:
mv /bin/sg /usr/bin
mv /bin/vigr /usr/sbin
And move Shadow's dynamic libraries to a more appropriate location:
mv /usr/lib/lib{shadow,misc}.so.0* /lib
As some packages expect to find the just-moved libraries in
/usr/lib, create the following symlinks:
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so
The -D option of the useradd program requires this
directory for it to work properly:
mkdir /etc/default
Coreutils has already installed a better groups
program in /usr/bin. Remove the one installed by
Shadow:
rm /bin/groups
Configuring Shadow
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 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
And to enable shadowed group passwords, run the following
command:
/usr/sbin/grpconv
Under normal circumstances, you won't have created any passwords yet.
However, if returning to this section to enable shadowing, you should reset any
current user passwords with the passwd command or any
group passwords with the gpasswd command.
Setting the root password
Choose a password for user root and set it via:
passwd root
&aa-shadow-shortdesc;
&aa-shadow-desc;