shell指令碼建立使用者並設定密碼

2021-08-18 17:29:38 字數 1404 閱讀 4040

在非root使用者tseg下建立新的使用者ls並設定密碼123。

如果使用命令行時我們需要這樣做:

#建立使用者ls

sudo useradd ls

#為ls使用者設定密碼

sudo passwd ls

可以看到,要想完成此動作需要root許可權。

因為新增使用者和設定密碼需要root許可權,所以在非root使用者下需要使用sudo,但是sudo的每次使用會需要密碼,為避免輸入,在此把sudo設為免密碼。

//進入/etc/sudoers檔案

sudo vim /etc/sudoers

//為tseg使用者設定免密碼,在 「root all=(all) all」 之後新增或修改下面這句

tseg all=(all) nopasswd:all

建立使用者,設定密碼

#!/bin/sh

#設定變數name接收第乙個引數(要建立的使用者名稱),$n表示第n個引數,且=兩邊不能有空格

name=$1

#設定變數pass接收第二個引數(要為其設定的密碼)

pass=$2

#echo語句會輸出到控制台,$或者 $變數 表示變數代表的字串

echo

"you are setting username : $"

echo

"you are setting password : $pass for $"

#新增使用者$name,此處sudo需要設定為無密碼,後面將會作出說明

sudo useradd $name

#如果上乙個命令正常執行,則輸出成功,否則提示失敗並以非正常狀態退出程式

# $?表示上乙個命令的執行狀態,-eq表示等於,[ 也是乙個命令

# if fi 是成對使用的,後面是前面的倒置,很多這樣的用法。

if [ $? -eq

0 ];then

echo

"user $ is created successfully!!!"

else

echo

"user $ is created failly!!!"

exit1fi

#sudo passwd $name會要求填入密碼,下面將$pass作為密碼傳入

echo

$pass | sudo passwd $name --stdin &>/dev/null

if [ $? -eq

0 ];then

echo

"$'s password is set successfully"

else

echo

"$'s password is set failly!!!"

fi

Shell指令碼 建立使用者和設定密碼

sudo useradd bd sudo passwd bd 建立使用者需要root使用者許可權,因此在非root使用者下使用sudo,同時需輸入密碼 為避免輸入密碼,將當前使用者設定為免密碼使用sudo sudo vim etc sudoers 或 sudo visudo 在 root all a...

Shell指令碼批量建立使用者並隨機生成密碼

要求 批量建立10個系統賬號oldboy01 oldboy10,並設定生成密碼 密碼不同 實現指令碼 bin bash question3 for i in seq w 10 do useradd s bin bash oldboy i echo password i md5sum tee a pa...

Shell指令碼 批量建立使用者

格式為 使用者名稱 空格 tab 密碼 就是將資料分為兩列 users.txt文字內容示例 新建文字命令 touch create users.sh 編譯文字命令 vim create users.sh bin bash 批量建立使用者 while read line do 讀取line列表中的資料...