根据UID复制用户的脚本

时间:2010-05-07 21:06:04

标签: linux bash passwd

我正在寻找一种方法将所有非系统用户从一台PC复制到另一台PC。我可以使用此

获取复制的group和passwd文件
awk -F":" ' $3 > 499 ' etc/passwd >> /etc/passwd
awk -F":" ' $3 > 499 ' etc/group >> /etc/group

但是,我怎样才能将影子文件复制过来,因为它不存储UID?假设有超过1000个用户,所以使用用户名(例如egrep '(bob|bill|sarah|sal):' etc/shadow >> /etc/shadow从上面的awk代码生成用户名来执行grep)会有点低效,但可能是一个选项。

2 个答案:

答案 0 :(得分:2)

awk -F“:”'$ 3> 499 {print“^”$ 1“:”}'/ etc / passwd | sudo grep -f - / etc / shadow> shadow.out

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

答案 1 :(得分:1)

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