Estimated build time: 3 minutes Estimated required disk space: 6 MB |
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 |
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.
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.
chage changes the number of days between password changes and the date of the last password change.
chfn changes user full name, office number, office extension, and home phone number information for a user's account.
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 changes the user login shell.
dpasswd adds, deletes, and updates dial-up passwords for user login shells.
Checks and enforces password expiration policy.
faillog formats the contents of the failure log,/var/log/faillog, and maintains failure counts and limits.
gpasswd is used to administer the /etc/group file
The groupadd command creates a new group account using the values specified on the command line and the default values from the system.
The groupdel command modifies the system account files, deleting all entries that refer to group.
The groupmod command modifies the system account files to reflect the changes that are specified on the command line.
grpck verifies the integrity of the system authentication information.
grpunconv converts to shadow group files from normal group files.
grpunconv converts from shadow group files to normal group files.
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 is used to establish a new session with the system.
newgrp is used to change the current group ID during a login session.
passwd changes passwords for user and group accounts.
sg executes command as a different group ID.
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 enforces the login time and port restrictions specified in /etc/porttime.
mkpasswd reads a file in the format given by the flags and converts it to the corresponding database file format.
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 verifies the integrity of the system authentication information.
pwconv converts to shadow passwd files from normal passwd files.
pwunconv converts from shadow passwd files to normal files.
useradd creates a new user or update default new user information.
userdel modifies the system account files, deleting all entries that refer to a specified login name.
usermod modifies the system account files to reflect the changes that are specified on the command line.
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.
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