Shadow 软件包包含用于安全处理密码的程序。
如果您想强制使用强密码,请参阅 http://www.linuxfromscratch.org/blfs/view/svn/postlfs/cracklib.html 以了解如何在构建 Shadow 之前安装 Cracklib。然后将 --with-libcrack 添加到下面的 configure 命令中。
准备编译 Shadow
./configure --libdir=/lib --enable-shared
禁用 groups 程序及其 man 手册的安装,因为 Coreutils 提供了更好的版本
sed -i 's/groups$(EXEEXT) //' src/Makefile sed -i '/groups/d' man/Makefile
编译软件包
make
安装软件包
make install
Shadow 使用两个文件来配置系统的身份验证设置。安装这两个配置文件
cp -v etc/{limits,login.access} /etc
不要使用默认的 crypt 方法,而要使用更安全的 MD5 密码加密方法,这种方法也允许密码长度超过 8 个字符。还需要更改过时的/var/spool/mail用户邮箱位置,Shadow 默认使用该位置,改为当前使用的/var/mail位置。这两个都可以通过在将相关配置文件复制到其目标位置时进行更改来实现
如果您在构建 Shadow 时启用了 Cracklib 支持,请将以下内容插入到下面给出的 sed 命令中
-e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@'
sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \ -e 's@/var/spool/mail@/var/mail@' \ etc/login.defs.linux > /etc/login.defs
将错放的程序移动到其正确的位置
mv -v /usr/bin/passwd /bin
将 Shadow 的库移动到更合适的位置
mv -v /lib/libshadow.*a /usr/lib rm -v /lib/libshadow.so ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so
useradd 程序的 -D 选项需要/etc/default目录才能正常工作
mkdir -v /etc/default
此软件包包含用于添加、修改和删除用户和组的实用程序;设置和更改他们的密码;以及执行其他管理任务。有关 密码影子 含义的完整解释,请参阅doc/HOWTO解压后的源代码树中的文件。如果使用 Shadow 支持,请记住,需要验证密码的程序(显示管理器、FTP 程序、pop3 守护程序等)必须是 Shadow 兼容的。也就是说,它们需要能够使用影子密码。
要启用影子密码,请运行以下命令
pwconv
要启用影子组密码,请运行
grpconv
在正常情况下,密码尚未创建。但是,如果稍后返回此部分以启用影子,请使用 passwd 命令重置任何当前用户密码,或使用 gpasswd 命令重置任何组密码。
为用户 root 选择一个密码,并通过运行以下命令进行设置
passwd root