Linux大量新增使用者和組shell指令碼

來源:互聯網
上載者:User

最近在定製ISO的時候,有個需求是特定的項目用特定的使用者去運行,取消root許可權。這樣就需要根據項目預設建立一批使用者。於是寫了個簡單的指令碼在系統安裝完成後自動添加使用者

簡單例子

umask 0002
 
#大量建立使用者組
for groups in aa bb cc dd
do
groupadd $groups
done
 
#大量建立相同使用者組的使用者
 
for users in aa bb
do
useradd -g aa $users
done
useradd -g cc cc
useradd -g dd dd


例子

例子:讓系統自動添加a b c d 四個使用者,並且密碼和使用者名稱同名,指令碼如下:
#!/bin/bash
#自動添加使用者和密碼,且同名
for UU in a b c d
do
useradd $UU
echo $UU | passwd --stdin $UU
done
自動添加a b c d 四個使用者,並且密碼都是123:
#!/bin/bash
#自動添加使用者和密碼,且密碼都是123
for UU in a b c d
do
useradd $UU
echo 123 | passwd --stdin $UU
done
如何給已有的使用者改密碼?
echo “newpassword” | passwd –stdin username
一:建立要添加使用者列表的檔案
#ee username.list
usr1
usr2
usr3
儲存退出
二:寫shell指令碼實現自動添加使用者(密碼和使用者名稱一樣)
#ee useradd.sh
#!/bin/sh
for USER in $(cat username.list)
do
mkdir /home/$USER
echo $USER | pw useradd $USER -h 0
HOME=/home/$USER
done
儲存退出
#chmod a+x haha.sh
#./haha.sh
注釋:echo $USER | pw useradd $USER -h 0中的
第一個$USER是使用者密碼($USER就是usrname.list裡面的內容)
第二個$USER是使用者名稱


例子


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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.