shell腳本創建用戶
1. 創建一個SHELL腳本,輸出helloworld,粘貼shell里的編寫內容+並以相對路徑運
摘要 親您好linux運維工程師在進行伺服器集群管理時,需要編寫Shell程序來進行伺服器管理。
2. 編寫一個shell腳本,添加100個新用戶
i=1
for(1..100)
do
groupadsers
adseruser$i-gusers
echouser|passwd"user$1"--stdin
i=$($i+1)
done
添加100用戶在users組,並設置密碼為user
3. linux shell腳本創建用戶並授權
#!/bin/bash
if[$UID!=0];then
echo"Pleaseusetherootuser"
exit0
fi
read-p"inputusername:"name
read-p"inputuserpassword:"passwd
useradd$name
passwd$name--stdin"$passwd"
sed-i"//a$nameALL=(root)NOPASSWD:/sbin/ifconfig,/usr/bin/iostat,/sbin/fdisk"/etc/sudoers
4. linux redhat shell 腳本 批量添加用戶
腳本批量創建用戶
mkdir /home/nisuser
vim /useradd.sh
#!/bin/bash
#
for u in {1001..1100}
do
USER=user$u
useradd -d /home/nisuser/$USER -u $u $USER
echo "passwd$u" | passwd --stdin $USER
done
chmod u+x /useradd.sh
./useradd.sh
5. linux shell腳本創建用戶,輸入新名字如果用戶存在顯示用戶已存在請重新輸入如果不存在則創建並提示成功
6. 一次性Linux創建1000個用戶 user 初始密碼都為123456 shell腳本怎麼寫
你可以寫一個shell腳本
基本上,批量添加用戶有兩種方式:
一是用useradd + passwd命令配合腳本來添加;
二是用newusers+chpasswd來添加。
方法一、useradd + passwd命令配合腳本來添加
用戶的初始密碼被設為用戶名+123
#! /bin/bash
#
#batch add users with file called users.list
#
for username in $(more users.list)
do
if [-n $username]
then
useradd -m $username
echo
echo $username"123" | passwd -- stdin $username
echo
echo "User $username's password is changer!"
else
echo "The username is null!"
fi
done
~
其中users.list文件內容如下:
johnson
lily
kelly
7. 請用shell腳本創建一個組class、一組用戶,用戶名為stdX X從01-30,並歸屬class組
腳本如下
[root@zintao01 ~]# cat adser.sh
#!/bin/bash
#script for adser.
#create by haojiu
#2015-x-x
groupadd class
user=std
for i in {01..30}
do
useradd -G class ${user}$i
done
如果有什麼不懂的話可以去看看《Linux就該這么學》這本書,非常適合新手學習Linux。
8. linux shell 腳本如何實現批量添加用戶(用戶名是不規則的)並初始化用戶密碼為用戶名
首先要了解,添加一個用戶不過是在passwd文件裡面寫入一行數據而已!所以呢,只要按照格式寫就好了!
使用newuser和chpasswd工具即可批量添加用戶以及創建密碼!但要事先寫好列表,使用newuser工具導入passwd文件中。格式要遵循passwd文件的格式!以及密碼列表,格式為user:passwd,使用chpasswd將其寫入passwd文件中,之後需要創建密文,用pwconv工具即可。如果之前你的passwd使用密文需要先將密文轉換為明文,之後在進行密碼列表導入。pwunconv
9. 編寫shell腳本:同時創建10個用戶userX,不需要密碼.
使用useradd命令創建用戶passwd命令是用來設置一個密碼,使用echo命令輸出到一個文件中scp命令是用來傳送文件的密碼。湯姆的用戶,例如,發送設置密碼「123456」同時172.16.1.3機器的/ home / tom目錄:
useradd的湯姆
PASSWD =「123456」
回聲-E「$ PASSWD \ n $ PASSWD」| passwd的湯姆
回聲$ PASSWD> passwd_file
SCP passwd_file家172.16.1.3 :/ /湯姆
我希望能幫助你。
10. 用shell腳本批量創建30個用戶,用戶名為exam1~exam30,用戶密碼統一為gdlclinux。
寫好了,還在測試,測試好了就給你。
寫好了,通過測試了。
########################################################################
#註:本腳本中使用了函數模塊,以方便修改和調試
#************************************************
# 2011年12月10日 初稿
#************************************************
# 2011年12月11日 測試 問題:密碼修改函數尚未實現
#************************************************
# 2011年12月11日 定稿 密碼修改函數實現
#************************************************
# by [email protected] 12.11.2011
########################################################################
#設置變數
i=1
username=exam
password=gdlclinux
rmso=$(tput rmso)
smso=$(tput smso)
#此處可添加要求輸入用戶名和密碼的項
#錯誤判斷函數
SEA()
{
location=$( which useradd ) #查找useradd的絕對路徑
if [ \( "$location" = "" \) -o \( -s "$location" \) ] #判斷是否找到useradd文件,或著找到的文件為空
then
echo "Useradd was not found,job terminated $smso unsuccessfully$rmso!"
exit
else
if [ -x "$location" ] #若useradd文件存在且不為空,判斷是否具有可執行許可權
then
echo "Command useradd doesn't have excution(x) mode"
exit
else #無法確定問題原因
echo "Script terminated by some unknown problem,Please check it!"
exit
fi
fi
}
#提示信息函數
casemsg()
{
#判斷passwd執行的返回值,並進入case分支
case "$y" in
0) echo "Set password for $smso $username$i$rmso successfully"
;;
1) echo "Permission denied when set password for $smso $username$i$rmso"
exit 1 ;;
2) echo "Invalid combination of options for command passwd"
exit 2 ;;
3) echo "Unexpected failure, nothing done"
exit 3 ;;
4) echo "Unexpected failure, passwd file missing"
exit 4 ;;
5) echo "Passwd file busy, try again"
exit 5 ;;
6) echo "Invalid argument to option"
exit 6 ;;
esac
}
#用戶創建函數
usercreate()
{
useradd -m $username$i #如果需要其他功能,請參照useradd幫助手冊修改此行,如:設置uid
x=$?
}
#密碼修改函數
#這里如果你的系統里有chpasswd這個批修改工具的話,就不用這么麻煩了。
MOVpassword()
{
( echo "$password";sleep 1;echo "$password" )|passwd $username$i #若useradd執行成功,則調用passwd設置密碼
y=$?
}
#主循環
while [ "$i" -ge 1 -a "$i" -le 30 ]
do
usercreate #調用usercreate函數創建用戶
if [ "$x" -eq 0 ] #判斷useradd是否執行成功
then
echo "User $smso $username$i$rmso have been create successfully!"
MOVpassword #調用MOVpassword修改密碼
casemsg #調用casemsg函數
if [ "$y" = 0 ] #如果MOVpassword的返回值為0,則將i加1
then
let i++
fi
else
SEA #調用錯誤判斷函數
fi
done
unset i x y location rmso smso username password #釋放所有設定的變數