Linux 中批量添加用户

来源:互联网 发布:java 三大框架教学 编辑:程序博客网 时间:2024/06/05 15:00

         在学习鸟哥的Linux私房菜过程中,发现在批量添加用户的过程中,为避免重复输入新增用户的密码,使用了如下的指令:

echo "password" | passwd --stdin username   

其中password 为自定义密码,username定义的用户名

经过网上查询发现我安装的是Ubuntu,不支持--stdin,可能是因为安全的原因


网上批量添加用户有很多方法,我实践了一种,心得如下:

方法:(以root权限)

第一步:建立用户文件和密码文件,编辑userfile文件需要注意里面文件的格式需要与/etc/passwd里用户一致,但还有需要注意的地方,我刚开始编辑的时候是与我之前使用useradd指令添加用户格式一样,最后下一步时出错,在第二步说明;

        # touch userfile.txt

# touch userpwfile.txt

# vim userfile.txt

# vim userpwfile.txt


下面为/etc/passwd文件的内容,在root权限下可以使用vim /etc/passwd 查看



这是userfile文件内容:格式:

username:password:uid:gid:gecos:dir:shell


这是userpwfile.txt文件内容:

usertest1:12345

usertest2:12345

usertest3:12345

usertest4:12345


第二步:从刚创建的用户文件userfile.txt中导入数据,创建用户: 

 以root权限输入:

# newusers < usrfile.txt 

 在此之前为避免执行此语句出错,最好# man newusers 看帮助文档里对 file的建立建议,即userfile.txt的编辑,特别是gecos项,可以为空

 username:password:uid:gid::dir:shell

  第三步:执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能。 

  # pwunconv

  第四步:以root身份执行命令/usr/sbin/chpasswd,创建用户密码,chpasswd会将经过/usr/bin/passwd命令编码过的密码写入/etc/passwd的密码栏

  # chpasswd < userpwfile

  最后一步:确定密码经编码写入/etc/passwd的密码栏后,执行命令/usr/sbin/pwconv将密码编码为shadow password,并将结果写入/etc/shadow。

  # pwconv

  然后可以利用    # grep 'usertest1' | /etc/passwd /etc/shadow 查看是否存在,或者用新建的用户名登录系统。





0 0
原创粉丝点击