你可以写一个shell脚本
基本上,批量添加用户有两种方式:
一是用useradd + passwd命令配合脚本来添加;
二是用newusers+chpasswd来添加。
方法一、useradd + passwd命令配合脚本来添加
用户的初始密码被设为用户名+123
#!/bin/bash
#
#.list
#
forusernamein$(moreusers.list)
do
if[-n$username]
then
useradd-m$username
echo
echo$username"123"|passwd--stdin$username
echo
echo"User$username'spasswordischanger!"
else
echo"Theusernameisnull!"
fi
done
~
其中users.list文件内容如下:
johnson
lily
kelly
方法二、newusers+chpasswd批量添加用户
1、首先我们创建用户文件和密码文件;
我们要创建包含新用户的文件userfile.txt ;另一个是为新添加的用户设置密码的userpwdfile.txt;
[root@localhost ~]# touch userfile.txt
[root@localhost ~]# touch userpwdfile.txt
然后用文本编辑器打开文件userfile.txt,添加如下内容;
win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
win02:x:522:522::/home/win02:/sbin/nologin
win03:x:523:523::/home/win03:/sbin/nologin
win04:x:524:524::/home/win04:/sbin/nologin
win05:x:525:525::/home/win05:/sbin/nologin
win06:x:526:526::/home/win06:/sbin/nologin
win07:x:527:527::/home/win07:/sbin/nologin
win08:x:528:528::/home/win08:/sbin/nologin
win09:x:529:529::/home/win09:/sbin/nologin
userfile.txt 文件内容格式和 /etc/passwd 的格式是一样的,必须严格按照/etc/passwd 的格式来书写;上面所添加的用户都不能登录系统,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上 面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash ;
我们再来书写新增用户的密码文件userpwdfile.txt内容;这个文件的内容中的用户名要与 userfile.txt用户名相同且严格按照“用户名:密码”的格式来写,一个用户一行;也就是说我们先是添加了win00到win09的用户,现在要为这些用户更新密码;比如下面的;
win00:123456
win01:654321
win02:123321
win03:qweewq
win04:google
win05:adadwc
win06:wsscee
win07:xxec32
win08:543wew
win09:3ce3wf
2、用newusers批量添加用户,此时用户是没有密码的
[root@localhost ~]# newusers userfile.txt
2、执行命令/usr/sbin/pwunconv,将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中, 并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消shadow password功能,关闭影子文件。
[root@localhost ~]#pwunconv
3、 用chpasswd批量修改密码
[root@localhost ~]# chpasswd < userpwdfile.txt
4、最后不要忘了恢复影子文件,保证安全,您可以通过下面的命令来映射到 /etc/shadow文件名
[root@localhost ~]# pwconv
‘贰’ linux seq命令帮助怎么查看
man seq
或者:
seq --help
‘叁’ linux 怎么用seq把第一行和第二行换位置
linux下文档替换操作命令是 sed
可以把文件的第二行输出到新文件,然后删除原文件的第二行,再输出到新文件
如:
源文件 abc.txt
第二行输出到1.txt
sed -n '2p' abc.txt > 1.txt
删除第二行,追加到1.txt
sed -e '2d' abc.txt >> 1.txt