从 passwd 导入用户

从 passwd 导入用户

我正在从一台 Linux 服务器迁移到另一台配置非常相似的服务器。两台服务器都安装了 Plesk,它已自动迁移了大量数据。但是,现在我需要迁移一些在 Plesk 之外创建的 FTP 用户。我已过滤旧密码文件,只保留需要添加到新密码文件中的条目。

我发现,如果我只是将额外的用户附加到新服务器上的 passwd 中,他们就不会在 shadow 中获得条目,这会在以后导致问题。

将这些用户放入 passwd 的最佳方法是什么?一旦导入,我将使用 chpasswd 设置密码。

更新我不仅想导入用户名,还想导入群组、主目录等。

答案1

为什么不使用像 cut/xargs 这样简单的东西呢?

cut -d: -f 1 /srv/old_filtered_passwd | xargs -n 1  useradd

或者可能是像这样更复杂的东西(未经彻底测试)。

awk 'BEGIN{FS=":"} {print "useradd -u " $3 " -g " $4 " -c \"" $5 "\" -h " $6 " "$1}'  /srv/old_filtered_passwd > recreate_users
# verify 
cat recreate_users 
# actually create the users
bash recreate_users

你可以用一个命令来完成整个操作,比如awk ... | bash。不过我强烈建议你第一次查看 awk 的输出,以确保一切看起来都正确。

相关内容