歡迎您光臨本站 註冊首頁

Proftpd User Administration Tool

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

Proftpd User Administration Tool

最近為研發部建立一個FTP伺服器,之前打算用MYSQL來管理,可惜PAM_MYSQL死活編譯不出來,作罷。
又不敢用系統用戶,所以只好用虛擬用戶,基於文件用戶資料庫。
但是用戶的管理,比如增加刪除或者改密碼等簡單操作,總不能一個個的去敲命令吧,決心一邊學一邊寫,整了個用戶基本管理工具出來。
功能比較簡單,大致如下:
0. SHOW USERS
1. ADD USER
2. CHANGE PASSWORD FOR USER
3. DELETE USER
4. QUIT
注意:水平有限,頭一次寫SHELL,在創建用戶時沒有辦法自動提供UID,所以只能先把所有用戶都列出來,再找一個沒有在使用中的UID,在創建用戶的手工輸入,如果有感興趣的同志能完美一下就夠好了。
歡迎測試,希望能對大家的工作帶來一些方便,如果你有更好的工具,也希望能得到你的推薦。#!/bin/bash
echo "Welcome to use Our FTP SERVER user administration tool"
echo "FEEDBACK:chinaid@msn.com"
echo "LATEST:2012/08/08"

##begin##################
#global settings
#proftpd password file location
proftpd_passwd=/etc/proftpd/proftpd_passwd
#ftp users home directory location
ftproot=/home/database/ftproot
#########################

#########################
#print menu
echo "0. SHOW USERS"
echo "1. ADD USER"
echo "2. CHANGE PASSWORD FOR USER"
echo "3. DELETE USER"
echo "4. QUIT"
read n
case $n in
#########################

#########################
#Print all users
0)
echo "All users listed here:"
echo "UID:        USERNAME:        HOME:"
awk -F ':' '{print $3"        "$1"        "$6}' "$proftpd_passwd"
;;
#########################

#########################
#Add user
1)
echo "Please input username:"
read new_ftp_username
echo "Please input UID(Please RUN memn.0-SHOW USERS for get a UID if not used):"
read uid

#make user home dirctory
echo "Create ftp home direcotry for $new_ftp_username..."
mkdir -p "$ftproot/$new_ftp_username"
if [ -d "$ftproot/$new_ftp_usernam" ]; then
echo "Done!"

#update proftpd user database
echo "Update ftp user database......done!"
ftpasswd --guid=10001 --passwd --name="$new_ftp_username" --home="$ftproot/$new_ftp_username/" --shell="/sbin/nologin" --file="$proftpd_passwd" --uid="$uid"
chown ftpuser:ftpuser "$ftproot/$new_ftp_username"

#update userlist
if [ -d "$ftproot/$new_ftp_username" ];then
echo "$uid:$new_ftp_username:$ftproot/$new_ftp_username/" >> /etc/proftpd/user_create_list
echo "Create user......done!"
fi
else
echo "Password does not match, please try again"
fi
;;
#########################

#########################
#Change password
2)
echo "Please input username:"
read user_tobe_changepassword
ftpasswd --passwd --name="$user_tobe_changepassword" --change-password --file="$proftpd_passwd"
echo "Change password......done!"
;;
#########################

#########################
#Delete user
3)
echo "Please input username:"
read user_tobe_delete

#update ftp user database
#uncomment for force delete user for user database
#sed -i "/$user_tobe_delete/d" "$proftpd_passwd"
ftpasswd --name="$user_tobe_delete" --file="$proftpd_passwd" --delete-user --passwd
echo "Delete user $user_tobe_delete from ftp user database......done!"

#delete user dir
rm -rf --no-preserve-root $ftproot/$user_tobe_delete
echo "Delete user home directory......done!"
;;
#########################

#########################
#Quit
4)
exit
;;
esac;
##end####################打包下載

《解決方案》

proftpd_admin. 有這麼一個後台管理的PHP。也許你用的上。
《解決方案》

回復 2# lxxpsp2007

非常感謝,所謂聽君一席勝讀十年書就是如此,無敵真可怕!

另外感慨一下,今年發現在本壇註冊已經接近九年了,真不知道有不能挺得過世界末日迎接十周年!

[火星人 ] Proftpd User Administration Tool已經有826次圍觀

http://coctec.com/docs/service/show-post-12407.html