Shadow 软件包包含安全地处理密码的程序。
解压软件包:
cd /sources
tar xf shadow-4.9.tar.xz
cd shadow-4.9
禁止该软件包安装 groups 程序和它的 man 页面,因为 Coreutils 会提供更好的版本。
sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;
不使用默认的 crypt 加密方法,使用更安全的 SHA-512 方法加密密码,该方法也允许长度超过 8 个字符的密码。还需要把过时的用户邮箱位置 /var/spool/mail 改为当前普遍使用的 /var/mail 目录。另外,从默认的 PATH 中删除/bin 和 /sbin,因为它们只是指向 /usr 中对应目录的符号链接:
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
-e 's:/var/spool/mail:/var/mail:' \
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
-i etc/login.defs
使用以下命令修改文件,修复程序中的一处低级错误:
sed -e "224s/rounds/min_rounds/" -i libmisc/salt.c
准备编译 Shadow:
touch /usr/bin/passwd
./configure --sysconfdir=/etc \
--with-group-name-max-length=32
编译该软件包:
make
该软件包不包含测试套件。
安装该软件包:
make exec_prefix=/usr install
make -C man install-man
mkdir -p /etc/default
useradd -D --gid 999
安装完成后清理工作:
cd ..
rm -rf shadow-4.9
该软件包包含用于添加、修改、删除用户和组,设定和修改它们的密码,以及进行其他管理任务的工具。
如果要对用户密码启用 Shadow 加密,执行以下命令:
pwconv
如果要对组密码启用 Shadow 加密,执行:
grpconv
Shadow 附带的 useradd 配置文件有一些需要解释的事项。首先,useradd 的默认操作是创建一个用户,以及一个名字和用户名相同的组。默认情况下,用户 ID (UID) 和组 ID (GID) 会从 1000 开始。这意味着,如果您不向 useradd 传递参数,每个用户都会属于一个不同的组。如果您不希望这样,就要传递 -g 参数给 useradd。默认参数保存在 /etc/default/useradd 文件中。您可以编辑其中的两个参数,以满足您的特定需求。
为用户 root 选择一个密码,并执行以下命令设定它:
passwd root
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️