作為一個系統管理員,可能要經常的為機器添加用戶,可能是在一台機器上添加很多用戶,也有可能是在很多機器上要添加同一個用戶。
基本上,批量添加用戶有兩種方式,一是用useradd + passwd命令配合腳本來添加,二是用newusers+chpasswd來添加。
第一個方法合適用來在不同的機器上添加不同的用戶,或者在同一台機器上添加大量的規則命名的用戶。第二個方法可用於在同一台機器上添加大量的用戶名單,如將A機上的用戶全部添加到B機上。
方法一:useradd + passwd命令配合腳本來添加
其中users.list文件內容如下:
johnson
lily
kelly
執行結果如下圖所示:
由腳本知,用戶的初始密碼被設為用戶名+123,大家可以按需修改使用。
方法二、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