自己第一次写的青涩脚本 

  1. #!/bin/bash 
  2. set -x #这个我调试脚本用的,没其他含义,可以删除 
  3. allow=YES 
  4. deny=NO 
  5. Sname=vsftpd 
  6. VFconf="/etc/vsftpd/vsftpd.conf" 
  7. VFstart="/etc/init.d/vsftpd" 
  8. VUser="/etc/vsftpd/vuser" 
  9. VUCdirectory="/etc/vsftpd/vuconf" 
  10. VFpam="/etc/pam.d/vsftpdd" 
  11. VFDirectory="/var/www/html" 
  12. DB4=db4 
  13. DB4UTILS="db4-utils" 
  14. DB4DEVEL="db4-devel" 
  15. sys_tem="/lib64" 
  16. http=apache 
  17. #----------主配置文件-------------- 
  18. MAIN_CONFIG() 
  19.         if [ -d $sys_tem ];then 
  20.            echo "you system is 64bit" 
  21.            systems=$sys_tem 
  22.         else 
  23.            echo "you system is 32bit" 
  24.            systems=/lib 
  25.     fi 
  26. #     touch $VFpam 
  27.      sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' $VFconf 
  28.      sed -i 's/#chown_uploads=YES/chown_uploads=NO/g' $VFconf 
  29.      sed -i 's/#xferlog_file/xferlog_file/g' $VFconf 
  30.      sed -i 's/#async_abor_enable=YES/async_abor_enable=YES/g' $VFconf 
  31.      sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/g' $VFconf 
  32.      sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/g' $VFconf 
  33.      sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/g' $VFconf 
  34.      sed -i 's/pam_service_name=vsftpd/pam_service_name=vsftpdd/g' $VFconf 
  35.          { 
  36.                 echo "guest_enable=$allow" 
  37.                 echo "guest_username=$http" 
  38.                 echo "user_config_dir=$VUCdirectory" 
  39.                 echo "virtual_use_local_privs=$allow" 
  40.           } >> $VFconf 
  41.      touch $VFpam 
  42.          { 
  43.           echo "auth sufficient $systems/security/pam_userdb.so db=$VUser" 
  44.           echo "account sufficient $systems/security/pam_userdb.so db=$VUser" 
  45.           } > $VFpam 
  46. #------------用户配置----------------------- 
  47. USER_CONFIG () 
  48. Uname=$1 
  49. userhome="local_root=" 
  50. userworld="anon_world_readable_only=" 
  51. userupload="anon_upload_enable=" 
  52. usermkdir="anon_mkdir_write_enable=" 
  53. userothen="anon_mkdir_write_enable=" 
  54. userwrite="write_enable=" 
  55. echo "现在开始配置用户....." 
  56. if [ -d $VUCdirectory ];then 
  57. echo "............" 
  58. else 
  59. mkdir $VUCdirectory 
  60. fi 
  61.  
  62. echo "你需要配置的用户是:" 
  63. echo "$Uname" 
  64. touch "$VUCdirectory/$Uname"  && echo "用户配置文件创建成功.................................." 
  65.  { 
  66.  echo "$userhome$VFDirectory" 
  67.  echo "$userwrite$allow" 
  68.  echo "$userworld$deny" 
  69.  echo "$userupload$allow" 
  70.  echo "$usermkdir$allow" 
  71.  echo "$userothen$allow" 
  72.   } > $VUCdirectory/$Uname 
  73. chown -R $http:$http $VFDirectory 
  74. chmod -R 755 $VFDirectory 
  75. #----------------增加用户--------------------- 
  76. ADD_USER() 
  77. echo "start add user" 
  78. rpm -q $DB4 
  79.  if [ $? -eq 0 ];then 
  80.    echo "............." 
  81.  else 
  82.     echo "need download $DB4..." 
  83.     yum install -y $DB4 
  84. fi 
  85. rpm -q $DB4UTILS 
  86.  if [ $? -eq 0 ];then 
  87.    echo "............." 
  88.  else 
  89.     echo "need download $DB4UTILS..." 
  90.     yum install -y $DB4UTILS 
  91. fi 
  92. rpm -q $DB4DEVEL 
  93. if [ $? -eq 0 ];then 
  94.    echo "------------" 
  95. else 
  96.     echo "need download $DB4DEVEL..." 
  97.     yum install -y $DB4DEVEL 
  98. fi 
  99. if [ -f $VUser ];then 
  100.         echo "..................." 
  101. else 
  102.          touch $VUser 
  103. fi 
  104.     username=$1 
  105.     userpasswd=$2 
  106. echo "$username" 
  107. echo "$userpasswd" 
  108. } >> $VUser 
  109. db_load -T -t hash -f  $VUser $VUser.db 
  110. rm -rf  $VUser 
  111. #-----------------安装服务--------------------- 
  112. INSTALL_SERVER() 
  113.  rpm -q $Sname 
  114. if [ $? -eq 0 ];then 
  115. echo "--------------------" 
  116. else 
  117. yum install -y $Sname 
  118. fi 
  119. echo -n "add user? " 
  120. echo "y is add" 
  121. echo "n and q is quit" 
  122. echo -n "Please select:" 
  123. read stall 
  124.    case $stall in 
  125.     y|Y) 
  126.          echo "ENTER USERNAME" 
  127.          read name1 
  128.          echo "ENTER PASSWD" 
  129.          read passwd1 
  130.          ADD_USER $name1 $passwd1 
  131.          USER_CONFIG $name1 
  132.          MAIN_CONFIG 
  133.            ;; 
  134.     n|q|N|Q) 
  135.          echo "EXIT。" 
  136.          exit 0 
  137.           ;; 
  138.     esac 
  139. #------------------------------------------------ 
  140. echo "start install $Sname:" 
  141. INSTALL_SERVER 
  142. $VFstart restart 
  143. exit 0