diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml
index 93d1f3f7e..0f34d70ac 100644
--- a/chapter08/shadow.xml
+++ b/chapter08/shadow.xml
@@ -60,11 +60,10 @@ find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
Instead of using the default
- crypt method, use the more secure
- SHA-512 method of password encryption, which also
- allows passwords longer than 8 characters. In addition, set the number of
- rounds to 500,000 instead of the default 5000, which is much too low to
- prevent brute force password attacks. It is also necessary to change
+ crypt method, use the much more secure
+ YESCRYPT method of password encryption, which also
+ allows passwords longer than 8 characters.
+ It is also necessary to change
the obsolete /var/spool/mail location
for user mailboxes that Shadow uses by default to the /var/mail location used currently. And,
@@ -81,10 +80,9 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
-sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
- -e 's@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@' \
- -e 's:/var/spool/mail:/var/mail:' \
- -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
+sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
+ -e 's:/var/spool/mail:/var/mail:' \
+ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
-i etc/login.defs
@@ -106,8 +104,9 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;Prepare Shadow for compilation:
touch /usr/bin/passwd
-./configure --sysconfdir=/etc \
- --disable-static \
+./configure --sysconfdir=/etc \
+ --disable-static \
+ --with-{b,yes}crypt \
--with-group-name-max-length=32
@@ -122,6 +121,21 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
+
+
+ --with-{b,yes}crypt
+
+ The shell expands this to two switches,
+ --with-bcrypt and
+ --with-yescrypt. They allow shadow to use
+ the Bcrypt and Yescrypt algorithms implemented by
+ Libxcrypt for hashing passwords.
+ These algorithms are more secure (in particular, much more
+ resistant to GPU-based attacks) than the traditional SHA
+ algorithms.
+
+
+
--with-group-name-max-length=32