1

我正在寻找一种将所有非系统用户从一台 PC 复制到另一台 PC 的方法。我可以使用这个复制组和密码文件

awk -F":" ' $3 > 499 ' etc/passwd >> /etc/passwd
awk -F":" ' $3 > 499 ' etc/group >> /etc/group

但是,由于它不存储 UID,我将如何获取复制的影子文件?假设有超过 1000 个用户,那么对用户名执行 grep,例如egrep '(bob|bill|sarah|sal):' etc/shadow >> /etc/shadow从上面的 awk 代码生成用户名,效率会有点低,但可能是一种选择。

4

2 回答 2

2

awk -F":" ' $3 > 499 {打印 "^"$1":"} ' /etc/passwd | sudo grep -f - /etc/shadow > shadow.out

如果用户名是其他用户名的一部分,则先前的答案可能会为每个用户生成多行

于 2010-08-25T00:30:49.003 回答
1
awk -F":" ' $3 > 499 {print $1} ' /etc/passwd | sudo grep -f - /etc/shadow > shadow.out
于 2010-05-07T21:33:17.503 回答