批量建立獨立sftp使用者的shell指令碼

2022-10-01 22:57:19 字數 1601 閱讀 3115

我的目的是滿足每乙個使用者只能訪問它自己的目錄下的upload資料夾,不能離開自己的目錄

因為我只要乙個組,因此把使用者組在**裡寫死了,這個組叫sftpusers

手動建立一下(如果需要批量建立不同組使用者,**修改一下即可)

groupadd sftpusers
建立檔案1.sh

內容為

#!/bin/bash

name=$1

pass=$2

useradd -s /bin/false -g sftpusers $name

if [ $? -eq 0

];then

echo -e "

\033[32muser $: create success\033[0m

"else

echo -e "

\033[31muser $: create false\033[0m

"exit 1fi

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

if [ $? -eq 0

];then

echo -e "

\033[32mpasswd $ create success!!!

"else

echo -e "

\033[31mpasswd $ create false\033[0m"fi

mkdir /home/$name/upload

if [ $? -eq 0

];then

echo -e "

\033[32mcreate /upload success!!!

"else

echo -e "

\033[31mcreate /upload false\033[0m"fi

chown root /home/$name

chmod

755 /home/$name

chown $name /home/$name/upload

chmod

755 /home/$name/upload

if [ $? -eq 0

];then

echo -e "

\033[32mroot right success!!!

"else

echo -e "

\033[31mroot right false\033[0m"fi

echo -e "

\033[33mname:$1 \033[0m

"echo -e "

\033[33mpasswd:$2 \033[0m

"bash

給許可權

chmod u+x 1.sh
執行

./1.sh 使用者名稱 密碼

這樣就建立好了,使用者登入後根目錄為/home/使用者名稱 它只對裡面的upload資料夾有操作許可權,這樣就防止逃逸

Linux shell 批量建立使用者

可以使用newusers命令來批量完成,該命令需要先行建立新使用者列表,該列表需要和 etc passwd檔案格式相同,格式如下 test1 x 501 501 test1 home test1 bin bash 新使用者列表建立完畢之後,使用newusers 列表檔案.txt 的方式來批量建立 n...

c 批量建立使用者

最近要給客戶做培訓需要配置乙個測試環境,因為系統使用域使用者驗證,建立大量的域使用者工作量比較大,而且測試環境的使用者名稱可以根據使用者單位和角色建立乙個使用者名稱模式,例如 角色.單位 於是用c 批量建立使用者,發現這樣兩個比較棘手的問題 1.如何設定使用者名稱初始密碼 2.如何設定 使用者下次登...

批量建立AD使用者

批量建立ad使用者 前幾天我發表了 powershell 管理active directory常用命令 這個部落格,裡面有關於建立使用者的powershell,但是如果是單使用者的話,用powershell就顯得不是那麼的高效了,所以我們現在來做一下批量的形式 環境 作業系統 windows ser...