Shadow 软件包包含以安全方式处理密码的程序。

安装 Shadow

首先进入到源码目录,解压软件包:

cd /sources
tar xf shadow-4.2.1.tar.xz
cd shadow-4.2.1

取消安装 groups 程序以及它的 man 文档,因为 Coreutils 提供了一个更好的版本:

sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;

比起默认的 crypt 方法,用更安全的 SHA-512 方法加密密码,它允许密码长度超过 8 个字符。

也需要把 Shadow 默认使用的用户邮箱由陈旧的 /var/spool/mail 位置改为正在使用的 /var/mail 位置:

sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
-e 's@/var/spool/mail@/var/mail@' etc/login.defs

做个小的改动使 useradd 的默认设置和 LFS 的组文件一致:

sed -i 's/1000/999/' etc/useradd

准备编译 Shadow:

./configure --sysconfdir=/etc --with-group-name-max-length=32

编译软件包:

make

该软件包没有测试套件。

安装软件包:

make install

移动位置错误的程序到正确的位置:

mv -v /usr/bin/passwd /bin

配置 Shadow

该软件包包含:

  • 增加、更改、以及删除用户和组的工具;
  • 设置和修改密码;
  • 执行其它特权级任务;

软件包解压后的 doc/HOWTO 文件有关于 password shadowing 的完整解释。

如果使用 Shadow 支持,记住需要验证密码(显示管理器、FTP 程序、pop3 守护进程等)的程序必须和 Shadow 兼容。 也就是说,它们要能使用 Shadow 加密的密码。

运行下面的命令启用 shadow 密码;

pwconv

运行下面的命令启用 shadow 组密码:

grpconv

用于 useradd 工具的 Shadow 配置有一些需要解释的注意事项。

首先,useradd 工具的默认操作是创建用户以及和用户名相同的组。

默认情况下,用户 ID(UID) 和组 ID(GID) 的数字从 1000 开始。

这意味着如果你不传递参数给 useradd,系统中的每个用户都会属于一个不同的组。如果不需要这样的结果,你需要传递参数 -g 到 useradd。默认参数保存在 /etc/default/useradd 文件中。

设置 root 密码

运行下面的命令为用户 root 设置密码:

passwd root

【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - Shadow-4.2.1_linux

安装完成后清理工作:

cd ..
rm -rf shadow-4.2.1



本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️