一、編寫shell指令碼批量新增使用者
實現方法:判斷使用者是否存在,存在則返回錯誤提示,同時判斷使用者檔案是否存在,不存在則退出
1、建立新增使用者指令碼
[root@localhost ~]# vim useradd.sh
#!/bin/bash
if [ $# -eq 0 ];then
echo "你沒有輸入任何檔案!"
exit 1
fiif [ ! -f $1 ];then
echo "輸入有誤!"
exit 2
fifor user in `cat $1`
doid $user &>/dev/null
if [ $? -eq 0 ];then
echo "使用者$user已存在!"
else
useradd -s /sbin/nologin $user
echo "password" | passwd --stdin $user
echo "使用者$user建立成功。"
fidone
2、檢查指令碼並新增可執行許可權
[root@localhost ~]# sh -n useradd.sh
[root@localhost ~]# chmod +x useradd.sh
3、新增使用者
[root@localhost ~]# ./useradd.sh
你沒有輸入任何檔案!
[root@localhost ~]# ./useradd.sh user.txt
更改使用者 user1 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
使用者user1建立成功。
更改使用者 user2 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
使用者user2建立成功。
更改使用者 user3 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
使用者user3建立成功。
更改使用者 user4 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
使用者user4建立成功。
更改使用者 user5 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。
使用者user5建立成功。
二、刪除使用者
1、編寫刪除指令碼
[root@localhost ~]# vim userdel.sh
#!/bin/bash
#userdel
if [ $# -eq 0 ];then
echo "你沒有輸入檔案!"
exit 1
fiif [ ! -f "$1" ];then
echo "輸入有誤!"
exit 2
fifor user in `cat $1`
doid $user &>/dev/null
if [ $? -eq 0 ];then
userdel -r $user &>/dev/null
echo "刪除$user成功!"
else
echo "使用者不存在!"
fidone
[root@localhost ~]# sh -n userdel.sh
[root@localhost ~]# chmod a+x userdel.sh
2、刪除使用者
[root@localhost ~]# ./userdel.sh 111
輸入有誤!
[root@localhost ~]# ./userdel.sh user.txt
刪除user1成功!
刪除user2成功!
刪除user3成功!
刪除user4成功!
刪除user5成功!
[root@localhost ~]# ./userdel.sh user.txt
使用者不存在!
使用者不存在!
使用者不存在!
使用者不存在!
使用者不存在!
while read user
doid $user &>/dev/null
if [ $? -eq 0 ];then
echo "使用者$user已存在!"
else
useradd -s /sbin/nologin $user
echo "password" | passwd --stdin $user
echo "使用者$user建立成功。"
fidone < $1
Shell指令碼 批量建立使用者
格式為 使用者名稱 空格 tab 密碼 就是將資料分為兩列 users.txt文字內容示例 新建文字命令 touch create users.sh 編譯文字命令 vim create users.sh bin bash 批量建立使用者 while read line do 讀取line列表中的資料...
shell指令碼批量建立使用者
bin bash date date f t user file user.txt echo color 如果使用者檔案存在並大小大於0就備份 if s user file then mv user file bak echo color green user file exist,rename b...
使用shell指令碼批量建立使用者
1 使用for語句批量新增與刪除特定使用者 for語句的操作物件為使用者指定名稱的變數,並通過in關鍵字為該變數預先設定了乙個取值列表,多個取值之間以空格進行分隔。為於do done之間的命令序列稱為迴圈體。新增使用者 root localhost vim list.txt 準備乙個使用者名稱列表檔...