安装Linux影子密码
出处:cha 作者:cha 时间:2006-5-30 14:09:00
1 手边准备一个开机片
如果真的发生严重错误,有个开机磁片之有用的。如果你要 boot/root 合并的安装,你可以参考 Bootdisk-HOWTO 以制作 root 开机之开机片。
2 移除复制的 man pages
你也应该将操作手册更新,即使你很厉害到足以不用备份安装 Shadow Suite,你仍然要将将旧的操作手册移除,因为新版的操作手册无法正常的覆盖旧版本。
你可以使用一个组合: man -aW 命令 和 locate 命令 寻找需备移除的操作手册。在你执行 make install 前找出较旧版本比较容易。
如果你使用 Slackware 3.0 版本,然後你要移除的操作手册是:
/usr/man/man1/chfn.1.gz
/usr/man/man1/chsh.1.gz
/usr/man/man1/id.1.gz
/usr/man/man1/login.1.gz
/usr/man/man1/passwd.1.gz
/usr/man/man1/su.1.gz
/usr/man/man5/passwd.5.gz
在 /var/man/cat[1-9] 次目录也有相同的名字需要被删除。
3 执行 make install
现在你已经准备要输入: (以 root 权限执行)
make install
这将安装最新和更新程式且修复档案许可权。它也会安装操作手册。
这也将在安装时考虑将 Shadow Suite 包含档案放在正确的位置 /usr/include/shadow 。
使用 BETA 套件,你需要手动复制 login.defs 这个档到 /etc 这个目录下,而且要确认只有 root 权限可以改变它。
cp login.defs /etc
chmod 700 /etc/login.defs
这个档案是 签入 程式的 configuration file。 你应该检查跟确定这个档的改变状况。这是你决定哪个 tty 的 root 可以从哪里签入和设定其他安全方针的地方(像预设密码的到期日)。
4 执行 pwconv
接下来的步骤是执行 pwconv。 这也需以 root执行且最好在 /etc 目录下执行:
cd /etc
/usr/sbin/pwconv
pwconv 撷取你的 /etc/passwd 档且删除某些栏位为了建立两个档案: /etc/npasswd 和 /etc/nshadow.
一个 pwunconv 也提供你建立一个 /etc/passwd 和 /etc/shadow 组合的正常 /etc/passwd 档案。
5 重新命名 npasswd 和 nshadow
现在你已经执行 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 权限执行)。 或者你可以使 root 成为 shadow 的群组可以拥有 shadow 档,但是在作这之前,要确定你已经有个 shadow group (可以在 /etc/group 档看到)。不应改有任何使用者真的在 shadow group 。
chown root.root passwd
chown root.shadow shadow
chmod 0644 passwd
chmod 0640 shadow
你的系统现在有 shadow 的密码档罗。 你现在 应该 重开一个终端机视窗和确认你可以签入(login)。
请马上确实的作这件事!
如过你不能,可能某些事情有错误罗! 为了要回到 to a non-shadowed 状态,请作下列步骤:
cd /etc
cp ~passwd passwd
chmod 644 passwd
你将重新储存这些档案到先前你储存它们的正确位置。