diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 0770bc366..2841f219c 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,9 @@
2008-10-09
+
+ [randy] - Updated Shadow to 4.1.2.1.
+
[randy] - Updated Man-DB to 2.5.2.
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 4dbfd0b79..9fef337bd 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -167,9 +167,9 @@
-
+
Sysklogd &sysklogd-version;
@@ -328,7 +328,7 @@
- mktemp-1.5
+ mktemp 1.5
@@ -343,6 +343,10 @@
readline-5.4-fixes-4.patch
+
+ shadow-4.0.18.1-useradd_fix-2.patch
+
+
sysklogd-1.4.1-8bit-1.patch
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index c0b28bfdf..a42997515 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -234,13 +234,13 @@
-
+
diff --git a/chapter06/shadow.xml b/chapter06/shadow.xml
index 7fd226a51..0b09986a8 100644
--- a/chapter06/shadow.xml
+++ b/chapter06/shadow.xml
@@ -44,50 +44,33 @@
If you would like to enforce the use of strong passwords, refer to
for installing
- Cracklib prior to building Shadow. Then add
+ CrackLib prior to building Shadow. Then add
--with-libcrack to the configure
command below.
- Fix a bug in the useradd and
+
Disable the installation of the groups program
and its man pages, as Coreutils provides a better version:
-sed -i 's/groups$(EXEEXT) //' src/Makefile
-find man -name Makefile -exec sed -i 's/groups\.1 / /' {} \;
+sed -i 's/groups$(EXEEXT) //' src/Makefile.in
+find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
Disable the installation of Chinese and Korean manual pages, since
Man-DB cannot format them properly:
-sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile
+sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile.in
Shadow supplies other manual pages in a UTF-8 encoding. Man-DB
can display these in the recommended encodings by using the
- convert-mans script which we installed:
+ convert-mans script which was installed during the
+ Man-DB package:
for i in de es fi fr id it pt_BR; do
convert-mans UTF-8 ISO-8859-1 man/${i}/*.?
@@ -109,8 +92,8 @@ convert-mans UTF-8 ISO-8859-9 man/tr/*.?
for user mailboxes that Shadow uses by default to the /var/mail location used currently:
-sed -i -e 's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
- -e 's@/var/spool/mail@/var/mail@' etc/login.defs
+sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD MD5@' \
+ -e 's@/var/spool/mail@/var/mail@' etc/login.defs
If you chose to build Shadow with Cracklib support, run the following:
@@ -119,6 +102,29 @@ convert-mans UTF-8 ISO-8859-9 man/tr/*.?
etc/login.defs
+ Prepare Shadow for compilation:
+
+
+
+./configure --sysconfdir=/etc
+
+
+
Compile the package:
make
@@ -133,11 +139,11 @@ convert-mans UTF-8 ISO-8859-9 man/tr/*.?
mv -v /usr/bin/passwd /bin
- Move Shadow's libraries to more appropriate locations:
+
@@ -167,12 +173,52 @@ ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so
grpconv
Shadow's stock configuration for the useradd
- utility is not suitable for LFS systems. Use the following commands to
- change the default home directory for new users and prevent the creation of
- mail spool files:
+ utility has a few caveats that need some explanation. First, the default
+ action for the useradd utility is to create the user and
+ a group of the same name as the user. By default the user ID (UID) and
+ group ID (GID) numbers will begin with 1000. This means if you don't pass
+ parameters to useradd, each user will be a member of a
+ unique group on the system. If this behaviour is undesireable, you'll need
+ to pass the -g parameter to
+ useradd. The default parameters are stored in the
+ /etc/default/useradd file. You may need to modify two
+ parameters in this file to suit your particular needs.
+
+
+ /etc/default/useradd Parameter Explanations
+
+
+ GROUP=1000
+
+ This parameter sets the beginning of the group numbers used in
+ the /etc/group file. You can modify it to anything you desire. Note
+ that useradd will never reuse a UID or GID. If the
+ number identified in this parameter is used, it will use the next
+ available number after this. Note also that if you don't have a group
+ 1000 on your system the first time you use useradd
+ without the -g parameter, you'll get a message
+ displayed on the terminal that says:
+ useradd: unknown GID 1000. You may
+ disregard this message and group number 1000 will be used.
+
+
+
+ CREATE_MAIL_SPOOL=yes
+
+ This parameter causes useradd to create a
+ mailbox file for the newly created user. useradd
+ will make the group ownership of this file to the
+ mail group with 0660
+ permissions. If you would prefer that these mailbox files are not
+ created by useradd, issue the following
+ command:
+
+sed -i 's/yes/no/' /etc/default/useradd
+
+
+
+
-useradd -D -b /home
-sed -i 's/yes/no/' /etc/default/useradd
@@ -191,7 +237,6 @@ sed -i 's/yes/no/' /etc/default/useradd
Installed programs
- Installed libraries
chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd,
@@ -199,7 +244,6 @@ sed -i 's/yes/no/' /etc/default/useradd
lastlog, login, logoutd, newgrp, newusers, nologin, passwd, pwck,
pwconv, pwunconv, sg (link to newgrp), su, useradd, userdel, usermod,
vigr (link to vipw), and vipw
- libshadow.{a,so}
@@ -551,16 +595,6 @@ sed -i 's/yes/no/' /etc/default/useradd
-
- libshadow
-
- Contains functions used by most programs in this package
-
- libshadow
-
-
-
-
diff --git a/packages.ent b/packages.ent
index b1a304faf..f01352b60 100644
--- a/packages.ent
+++ b/packages.ent
@@ -453,15 +453,12 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/patches.ent b/patches.ent
index a5c8edd47..757104976 100644
--- a/patches.ent
+++ b/patches.ent
@@ -132,9 +132,9 @@
-
+