迁移 unix 用户和组的脚本

迁移 unix 用户和组的脚本

我正在将我的 Ubuntu 8.10 Server 迁移到 10.04。是否有脚本可以将用户/etc/passwd和组/etc/group以及密码/etc/shadow从一台服务器迁移到另一台服务器?

答案1

这些文件实际上只是纯文本文件。您可以在系统之间以任何方式移动、复制和粘贴它们或备份它们。

此外,你还可以考虑某种版本控制。
类似etckeeper 安装 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

  1. cd /etc
  2. tar cvfz myfiles.tgz shadow passwd group

要恢复文件,只需使用 tar 中的“x”而不是“c”:

  1. cd /etc
  2. tar xvfz myfiles.tgz

这些版本之间的哈希算法应该没有变化。系统不“知道”您的密码——它们是通过运行单向摘要算法并将输出与 /etc/shadow 中的哈希进行比较来计算为匹配或不匹配的。甚至可以想象多个输入将与存储的哈希匹配,但您无法以另一种方式返回,因此据我所知,编写密码导出脚本是不可能的。

看来 SHA-512 自 glibc 2.7 以来就一直是标准,因此 Ubuntu 8.10 和 10.04 在这方面应该完全兼容。

相关内容