次脚本主要是自动话安装vsftpd和配置添加虚拟用户脚本


  1. # createby sjt

  2. # date 2012-12-27

  3. # version 0.1

  4. #!/bin/bash

  5. install_vsftp()

  6. {

  7.        echo -e "\n\t install vsftpd "

  8.        if [  -d /etc/vsftpd ];then

  9.                echo "vsftpd already exist!"

  10.                elif  [ `rpm -qa | grep 'db4-devel'` -a  `rpm -qa| grep 'db4-utils'` ];then

  11.                        echo -e "\t start install......"

  12.                        yum install -y vsftpd

  13. else

  14.                        echo -e "\t install db*......"

  15.                        yum install -y db4-devel

  16.                        yum install -y db4-utils

  17.                        echo -e "\t start install vsftpd......"

  18.                        yum install -y vsftpd

  19.        fi

  20.                        echo -e "\t###########################"

  21.                sed  -i "s/anonymous_enable=YES/anonymous_enable=NO/g" /etc/vsftpd/vsftpd.conf

  22.                sed  -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" /etc/vsftpd/vsftpd.conf  

  23.                sed  -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" /etc/vsftpd/vsftpd.conf

  24. sed  -i "s/#chroot_local_user=YES/chroot_local_user=YES/g" /etc/vsftpd/vsftpd.conf

  25.                cat >>/etc/vsftpd/vsftpd.conf<<EOF

  26. # Virtual

  27. guest_enable=YES

  28. guest_username=virtual_user

  29. virtual_use_local_privs=YES

  30. user_config_dir=/etc/vsftpd/vsftpd_user_conf

  31. EOF

  32.                sed -i "s/^/#/g" /etc/pam.d/vsftpd

  33.                echo -e "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login\naccount required /lib/security/pam_userdb.so  

  34. db=/etc/vsftpd/vsftpd_login " >>/etc/pam.d/vsftpd  

  35.                useradd -d /home/ftpsite -s /sbin/nologin virtual_user  

  36.                chmod 700 /home/ftpsite

  37.                mkdir -p /etc/vsftpd/vsftpd_user_conf

  38.                echo -e "write_enable=YES\n#cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,US

  39. ER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT\nfile_open_mode=0444\nlocal_root=/home/ftpsite">/etc/vsftpd/vsftpd_user_conf/guest

  40.        exit 1

  41. }

  42. create_user()

  43. {

  44.        echo -e "\n\t create virtual user"

  45. read -p "input user   "user

  46. read -p "input password     " passwd

  47.        echo -e "$user\n$passwd">>/etc/vsftpd/logins.txt

  48.        db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db

  49.        chmod 600 /etc/vsftpd/vsftpd_login.db

  50.        cp /etc/vsftpd/vsftpd_user_conf/guest /etc/vsftpd/vsftpd_user_conf/$user

  51. }

  52. cat <<EOF

  53. ##########################################

  54. #           install_vsftpd               #

  55. #                                        #

  56. #       1.install vsftpd                 #

  57. #       2.create virtual user            #

  58. #       3.quit                           #

  59. #                                        #

  60. ##########################################

  61. EOF

  62. read -p "NOW slect 1 or 2  or 3 "select

  63. case"$select"in

  64. "1")

  65.                install_vsftp

  66.        ;;

  67. "2")

  68.                create_user

  69.        ;;

  70. "3")

  71.                exit 1

  72.        ;;

  73. esac


删除
rpm -e vsftpd
rm -rf /etc/vsftpd
rm -rf /etv/pam.d/vsftpd
groupdel virtual_user
vim /etc/passwd
dd vsftpd