在Linux系統中批量添加用户的方法講解教程
- 操作系統
- 關注:3.09W次
在Linux系統中批量添加用户的方法講解教程
我們什麼時候才需要大批量添加用户呢?有時我們需要讓幾十個或更多的用户在主機上完成相同或相似的任務,比如我們想同時添加一堆的ftp 用户,這些ftp用户歸屬同一組,但不允許他們通過終端或遠程登錄服務器;有時我們可能為了教學,比如我們有50個學生,並且每個學生在服務器上有一個獨 立的用户名,能登錄系統,並能管理自己的帳號或完成一些在自己權限下的作業;
批量用户添加流程:
批量添中用户流程是通過newusers 導入一個嚴格按照/etc/passwd 的書寫格式來書寫內容的文件來完成添加用户,然後通過chpasswd 導入用户密碼文件來完成批量更新用户密碼的過程;
1、newusers 成批添加用户的工具;
其用法很簡單,newusers 後面直接跟一個文件;文件格式和/etc/passwd 的格式相同;
用户名1:x:UID:GID:用户説明:用户的家目錄:所用SHELL
舉例:
win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
......
值得一提的是關於SHELL類型,查看主機上所有SHELL ,可以通過chsh 來查看;
[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
其中除了/sbin/nologin ,其它類型的SHELL 都能登錄系統;nologin 大多是虛擬用户用的SHELL ,也就是説雖然他是系統用户,但他並無登錄系統的權限;如果您想添加這類用户,就把他的SHELL 設置成/sbin/nologin ,比如上面的例子; 關於用户名、UID、GID及用户的家目錄是怎麼回事,您可以讀相應的參考文檔;
2、chpasswd 批量更新用户口令工具;
chpasswd 工具是成批更新用户口令的工具,是把一個文件內容重新定向添加到/etc/shadow中;
chpasswd < 文件
但文件的內容並不是沒有約定的,必須以下面的格式來書寫,並且不能有空行;
用户名:口令
用户名1:口令1
用户名2:口令2
舉例:
win00:123456
win01:654321
... ...
批量添加用户實例:
1、首先我們創建用户文件和密碼文件;
我們要創建包含新用户的文件 ;另一個是為新添加的用户設置密碼的;
[root@localhost ~]# touch
[root@localhost ~]# touch
然後用文本編輯器打開文件,添加如下內容;
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
文件內容格式和 /etc/passwd 的格式是一樣的,必須嚴格按照/etc/passwd 的格式來書寫;上面所添加的`用户都不能登錄系統,但完全能用於ftp登錄,但您得在相應ftp服務器的配置文件中打開讓本地用户有讀寫權限;如果您想讓上 面的部份用户可以登錄系統,可以把SHELL類似改一改,比如改成/bin/bash ; 我們再來書寫新增用户的密碼文件內容;這個文件的內容中的用户名要與 用户名相同;也就是説我們先是添加了win00到win09的用户,現在要為這些用户更新密碼;比如下面的;
win00:123456
win01:654321
win02:123321
win03:qweewq
win04:google
win05:adadwc
win06:wsscee
win07:xxec32
win08:543wew
win09:3ce3wf
2、通過newusers和chpasswd 完成批量添加用户;
[root@localhost ~]# newusers
[root@localhost ~]# chpasswd <
這樣就算添加完成了,如果您發現 /etc/passwd 中能發現用户的明口令,您可以通過下面的命令來映射到 /etc/shadow文件名;
[root@localhost ~]# pwconv
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/caozuo/lwz0kz.html