透過腳本創建用戶

透過腳本創建用戶

當我發出以下命令時,我想在特定群組中建立一個新使用者。

sudo ./create_user.sh "test" "firstname lastname"

create_user.sh腳本如下所示。

#!bin/bash
#sudo adduser --gecos "$2" --ingroup testgroup $1

然而,問題是,我必須避免使用此處文件插入密碼(應該只是測試),但我不知道語法。

我嘗試了一些解決方案,但似乎都不起作用。

這就是我在腳本中嘗試的heredocument的樣子

#<< EOF
#test
#test
#EOF

我的輸出看起來像這樣

#adding user 'test' ...
#adding new user 'test' <1003> with group 'testgroup' ...
#Enter new UNIX password:

答案1

adduser呼叫該passwd實用程式來設定密碼。與許多提示輸入密碼的程式一樣,passwd它堅持其輸出來自終端。因此,您無法透過此處文件傳遞輸入 - 建立臨時文件或管道,但passwd兩者都不接受。

如果您不想使用密碼登錄,adduser(至少是 Debian 版本)該您可以忽略沒有傳遞密碼雜湊(不是密碼本身)的選項,但Linux 影子密碼實用程式套件有。--disabled-passwordadduseruseradd

如果您想在建立帳戶期間輸入密碼,請確保passwd從終端機讀取密碼。如果您從其他來源(例如 Web 表單)取得密碼,請passwd預計腳本 - 例子

如果這是使用此處文件的練習,則密碼不是您應該使用的地方。我沒有看到這裡的文檔可以解決您發布的內容中的任何問題。

相關內容