Installing Shadow-20001016

Estimated build time:           3 minutes
Estimated required disk space:  6 MB

Installation of Shadow Password Suite

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

Install the Shadow Password Suite by running the following commands:

cp src/useradd.c src/useradd.c.backup &&
sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' \
   src/useradd.c > tmp~ &&
mv tmp~ src/useradd.c &&
./configure --prefix=/usr &&
make &&
make install &&
cd etc &&
cp limits login.access /etc &&
sed 's%/var/spool/mail%/var/mail%' login.defs.linux > /etc/login.defs &&
cd /lib &&
mv libshadow.a /usr/lib &&
mv libshadow.la /usr/lib &&
ln -sf libshadow.so.0 libshadow.so &&
cd /usr/lib &&
ln -sf ../../lib/libshadow.so

Command explanations

sed 's/\(.*\) (nflg || \(.*\))\(.*\)/\1\2\3/' src/useradd.c > useradd.c.temp &&: This sed is used to fix a compilation bug which occurs due to a variable (nflg) being used but not defined.

cp limits login.access and others: These files were not installed during the installation of the package so we copy them manually as those files are used to configure authentication details on the system.

sed "s%/var/spool/mail%/var/mail%" login.defs.linux > /etc/login.defs: /var/spool/mail is the old location of the user mailboxes. The location that is used nowadays is /var/mail.

Contents

The Shadow Password Suite contains the chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, newgrp, passwd, sg, su, logoutd, mkpasswd, newusers, pwck, pwconv, pwunconv, useradd, userdel, usermod, vigr and vipw programs.

Description

chage

chage changes the number of days between password changes and the date of the last password change.

chfn

chfn changes user full name, office number, office extension, and home phone number information for a user's account.

chpasswd

chpasswd reads a file of user name and password pairs from standard input and uses this information to update a group of existing users.

chsh

chsh changes the user login shell.

dpasswd

dpasswd adds, deletes, and updates dial-up passwords for user login shells.

expiry

Checks and enforces password expiration policy.

faillog

faillog formats the contents of the failure log,/var/log/faillog, and maintains failure counts and limits.

gpasswd

gpasswd is used to administer the /etc/group file

groupadd

The groupadd command creates a new group account using the values specified on the command line and the default values from the system.

groupdel

The groupdel command modifies the system account files, deleting all entries that refer to group.

groupmod

The groupmod command modifies the system account files to reflect the changes that are specified on the command line.

grpck

grpck verifies the integrity of the system authentication information.

grpconv

grpunconv converts to shadow group files from normal group files.

grpunconv

grpunconv converts from shadow group files to normal group files.

lastlog

lastlog formats and prints the contents of the last login log, /var/log/lastlog. The login-name, port, and last login time will be printed.

login

login is used to establish a new session with the system.

newgrp

newgrp is used to change the current group ID during a login session.

passwd

passwd changes passwords for user and group accounts.

sg

sg executes command as a different group ID.

su

Change the effective user id and group id to that of a user. This replaces the su programs that's installed from the Shellutils package.

logoutd

logoutd enforces the login time and port restrictions specified in /etc/porttime.

mkpasswd

mkpasswd reads a file in the format given by the flags and converts it to the corresponding database file format.

newusers

newusers reads a file of user name and clear text password pairs and uses this information to update a group of existing users or to create new users.

pwck

pwck verifies the integrity of the system authentication information.

pwconv

pwconv converts to shadow passwd files from normal passwd files.

pwunconv

pwunconv converts from shadow passwd files to normal files.

useradd

useradd creates a new user or update default new user information.

userdel

userdel modifies the system account files, deleting all entries that refer to a specified login name.

usermod

usermod modifies the system account files to reflect the changes that are specified on the command line.

vipw and vigr

vipw and vigr will edit the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively.

Dependencies

Shadow-20001016 needs the following to be installed:


sh from the bash package

ar from the binutils package
as from the binutils package
ld from the binutils package
nm from the binutils package

cmp from the diffutils package

chmod from the fileutils package
cp from the fileutils package
ln from the fileutils package
ls from the fileutils package
mkdir from the fileutils package
mv from the fileutils package
rm from the fileutils package
rmdir from the fileutils package

cc from the gcc package

egrep from the grep package
grep from the grep package

make from the make package

sed from the sed package

basename from the sh-utils package
expr from the sh-utils package
sleep from the sh-utils package
uname from the sh-utils package

cat from the textutils package
sort from the textutils package
uniq from the textutils package