我正在将我的 Ubuntu 8.10 Server 迁移到 10.04。是否有脚本可以将用户/etc/passwd
和组/etc/group
以及密码/etc/shadow
从一台服务器迁移到另一台服务器?
答案1
这些文件实际上只是纯文本文件。您可以在系统之间以任何方式移动、复制和粘贴它们或备份它们。
此外,你还可以考虑某种版本控制。
类似etckeeper
是为此而设计的。
apt-cache show etckeeper
:
The etckeeper program is a tool to let /etc be stored in a git, mercurial,
bzr or darcs repository.
It hooks into APT to automatically commit changes made to /etc during
package upgrades.
It tracks file metadata that version control systems do not normally support,
but that is important for /etc, such as the permissions of /etc/shadow.
It's quite modular and configurable, while also being simple to use if you
understand the basics of working with version control.
如果您想进行简单备份,只需使用tar
。
cd /etc
tar cvfz myfiles.tgz shadow passwd group
要恢复文件,只需使用 tar 中的“x”而不是“c”:
cd /etc
tar xvfz myfiles.tgz
这些版本之间的哈希算法应该没有变化。系统不“知道”您的密码——它们是通过运行单向摘要算法并将输出与 /etc/shadow 中的哈希进行比较来计算为匹配或不匹配的。甚至可以想象多个输入将与存储的哈希匹配,但您无法以另一种方式返回,因此据我所知,编写密码导出脚本是不可能的。
看来 SHA-512 自 glibc 2.7 以来就一直是标准,因此 Ubuntu 8.10 和 10.04 在这方面应该完全兼容。