linux更改用户的shell,Linux下通过shell更改用户密码
echo "root:admin" | chpasswd
root的密碼改為admin
pwconv
同步到shadow文件
newusers和chpasswd的用法
日期:2006-11-22 作者:Linux時代 來自:Linux時代
一、為什么需要大批量添加用戶;
我們什么時候才需要大批量添加用戶呢?有時我們需要讓幾十個或更多的用戶在主機(jī)上完成相同或相似的任務(wù),比如我們想同時添加一堆的ftp
用戶,這些ftp用戶歸屬同一組,但不允許他們通過終端或遠(yuǎn)程登錄服務(wù)器;有時我們可能為了教學(xué),比如我們有50個學(xué)生,并且每個學(xué)生在服務(wù)器上有一個獨(dú)立的用戶名,能登錄系統(tǒng),并能管理自己的帳號或完成一些在自己權(quán)限下的作業(yè);
二、批量用戶添加流程;
批量添中用戶流程是通過newusers 導(dǎo)入一個嚴(yán)格按照/etc/passwd
的書寫格式來書寫內(nèi)容的文件來完成添加用戶,然后通過chpasswd 導(dǎo)入用戶密碼文件來完成批量更新用戶密碼的過程;
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
......
值得一提的是關(guān)于SHELL類型,查看主機(jī)上所有SHELL ,可以通過chsh 來查看;
[root@localhost beinan]# chsh --list
/bin/sh
/bin/bash
/sbin/nologin
/bin/ksh
/bin/tcsh
/bin/csh
/bin/zsh
其中除了/sbin/nologin ,其它類型的SHELL 都能登錄系統(tǒng);nologin 大多是虛擬用戶用的SHELL
,也就是說雖然他是系統(tǒng)用戶,但他并無登錄系統(tǒng)的權(quán)限;如果您想添加這類用戶,就把他的SHELL 設(shè)置成/sbin/nologin
,比如上面的例子;
關(guān)于用戶名、UID、GID及用戶的家目錄是怎么回事,您可以讀相應(yīng)的參考文檔;
2、chpasswd 批量更新用戶口令工具;
chpasswd 工具是成批更新用戶口令的工具,是把一個文件內(nèi)容重新定向添加到/etc/shadow中;
chpasswd < 文件
但文件的內(nèi)容并不是沒有約定的,必須以下面的格式來書寫,并且不能有空行;
用戶名:口令
用戶名1:口令1
用戶名2:口令2
舉例:
win00:123456
win01:654321
... ...
三、批量添加用戶實(shí)例;
1、首先我們創(chuàng)建用戶文件和密碼文件;
我們要創(chuàng)建包含新用戶的文件userfile.txt
;另一個是為新添加的用戶設(shè)置密碼的userpwdfile.txt;
[root@localhost ~]# touch userfile.txt
[root@localhost ~]# touch userpwdfile.txt
然后用文本編輯器打開文件userfile.txt,添加如下內(nèi)容;
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 文件內(nèi)容格式和 /etc/passwd 的格式是一樣的,必須嚴(yán)格按照/etc/passwd
的格式來書寫;上面所添加的用戶都不能登錄系統(tǒng),但完全能用于ftp登錄,但您得在相應(yīng)ftp服務(wù)器的配置文件中打開讓本地用戶有讀寫權(quán)限;如果您想讓上面的部份用戶可以登錄系統(tǒng),可以把SHELL類似改一改,比如改成/bin/bash
;
我們再來書寫新增用戶的密碼文件userpwdfile.txt內(nèi)容;這個文件的內(nèi)容中的用戶名要與
userfile.txt用戶名相同;也就是說我們先是添加了win00到win09的用戶,現(xiàn)在要為這些用戶更新密碼;比如下面的;
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 userfile.txt
[root@localhost ~]# chpasswd <
userpwdfile.txt
這樣就算添加完成了,如果您發(fā)現(xiàn) /etc/passwd 中能發(fā)現(xiàn)用戶的明口令,您可以通過下面的命令來映射到
/etc/shadow文件名;
[root@localhost ~]# pwconv
四、后記;
用戶管理就算差不多完成了,到目前為止,我已經(jīng)寫了六篇,雖然質(zhì)量不太高,但也算能稱得上比較系統(tǒng);在以后的幾天里,我要寫一寫文件管理;呵。。。進(jìn)度是慢了點(diǎn),但還是在堅持著;堅持就是勝利,不是嗎?
五、關(guān)于本文;
本文是大批量添加用戶的一個實(shí)例,主要是newusers和chpasswd的用法的解說;實(shí)話實(shí)說,這兩個工具還是有用的;至于能用在哪,我前面已經(jīng)說過了,可以用在ftp的虛擬用戶,可以用到教學(xué)中;
本文沒有技術(shù)含量,不值一提,但不寫出來,感覺對于一個系列文檔來說又少了內(nèi)容;還是寫出來為好。
總結(jié)
以上是生活随笔為你收集整理的linux更改用户的shell,Linux下通过shell更改用户密码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 分表设计,oracle 分
- 下一篇: linux下创建proc文件系统,[转载