如果出现严重错误,有一个启动盘会很方便。如果您有安装程序提供的启动/根目录组合盘,那就可以使用,否则请参阅 Bootdisk-HOWTO,其中描述了如何制作启动盘。
您还应该移动即将被替换的手册页。即使您足够勇敢,在不进行备份的情况下安装 Shadow Suite,您仍然需要移除旧的手册页。新的手册页通常不会覆盖旧的手册页,因为旧的手册页可能已被压缩。
您可以使用 man -aW command
和 locate command
的组合来定位需要(重新)移动的手册页。通常在运行 make install
之前找出哪些是旧的手册页会更容易。
如果您使用的是 Slackware 3.0 发行版,那么您要移除的手册页是
在 /var/man/cat[1-9]
子目录中可能也有同名的手册页,也应该删除。
现在您可以输入:(以 root 用户身份执行)
make install
这将安装新的和替换的程序,并修复文件权限。它还会安装手册页。
这也负责将 Shadow Suite 包含文件安装到 /usr/include/shadow
中的正确位置。
使用 BETA 包,您必须手动将文件 login.defs
复制到 /etc
子目录,并确保只有 root 可以对其进行更改。
cp login.defs /etc
chmod 700 /etc/login.defs
此文件是 login 程序的配置文件。您应该查看并修改此文件以适应您的特定系统。您可以在此处决定 root 可以从哪些 tty 登录,并设置其他安全策略设置(例如密码过期默认值)。
下一步是运行 pwconv
。这也必须以 root 身份完成,最好从 /etc
子目录中完成
cd /etc
/usr/sbin/pwconv
pwconv
会读取您的 /etc/passwd
文件,并剥离字段以创建两个文件:/etc/npasswd
和 /etc/nshadow
。
如果需要从 /etc/passwd
和 /etc/shadow
组合中生成一个正常的 /etc/passwd
文件,还提供了一个 pwunconv
程序。
现在您已经运行了 pwconv
,您已经创建了文件 /etc/npasswd
和 /etc/nshadow
。这些文件需要复制到 /etc/passwd
和 /etc/shadow
。我们还要制作原始 /etc/passwd
文件的备份副本,并确保只有 root 可以读取它。我们将备份放在 root 的主目录中
cd /etc
cp passwd ~passwd
chmod 600 ~passwd
mv npasswd passwd
mv nshadow shadow
您还应该确保文件所有权和权限正确。如果您要使用 X-Windows,则 xlock
和 xdm
程序需要能够读取 shadow
文件(但不能写入)。
有两种方法可以做到这一点。您可以将 xlock
设置为 suid root(xdm
通常以 root 身份运行)。或者您可以使 shadow
文件归 root
所有,组为 shadow
,但在执行此操作之前,请确保您有一个 shadow 组(查看 /etc/group
)。系统上的任何用户实际上都不应该在 shadow 组中。
chown root.root passwd
chown root.shadow shadow
chmod 0644 passwd
chmod 0640 shadow
您的系统现在已经使用了 shadow 密码文件。您应该立即切换到另一个虚拟终端并验证您是否可以登录。
真的,现在就做!
如果您无法登录,则说明有问题!要恢复到非 shadow 状态,请执行以下操作
cd /etc
cp ~passwd passwd
chmod 644 passwd
然后,您需要将之前保存的文件恢复到它们原来的位置。