北京SEO

linux中vsftpd虚拟用户配置脚本示例

2019/10/10/17:47:07  阅读:1899  来源:谷歌SEO算法  标签: SEO工具

下面来看一段linux中vsftpd虚拟用户配置脚本示例,希望这个例子能帮助到各位快速成功配置好自己的vsftpd服务器.

每次新安装服务器后,都要进行一系列的配置,安装软件,修改配置等,为了今后更好的部署vsftpd,特此写了个脚本用于部署.

登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录.

匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous.

本地用户登录:使用系统用户登录,在/etc/passwd中.

虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全,代码如下:

  1. #!/bin/bash
  2. #########################################
  3. #########descprition##################
  4. #1.安装vsftpd
  5. #2.配置vsftpd虚拟化
  6. ########################################
  7. #initvariables
  8. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  9. exportPATH
  10. ff_outputdir=/tmp/liufofu
  11. curdate=$(date+%Y%m%d)
  12. curtime=$(date+%H%M%S)
  13. ff_logfile=${ff_outputdir}/$$.log
  14. #
  15. if[!-e${ff_outputdir}];then
  16. mkdir-p${ff_outputdir}
  17. fi
  18. #处理过程中产生的日志由日志函数来进行处理记录
  19. functionlog()
  20. {
  21. echo"`date+"%Y:%m:%d%H-%M-%S"`$1">>${ff_logfile}
  22. }
  23. yum-yinstallvsftpd
  24. yum-yinstalldb4-utils
  25. #生成vsftpd配置文件
  26. cat>/etc/vsftpd/vsftpd.conf<<EOF
  27. anonymous_enable=NO
  28. local_enable=YES
  29. write_enable=YES
  30. local_umask=022
  31. log_ftp_protocol=YES
  32. dirmessage_enable=YES
  33. xferlog_enable=YES
  34. connect_from_port_20=YES
  35. xferlog_file=/var/log/xferlog
  36. xferlog_std_format=YES
  37. chroot_list_enable=YES
  38. chroot_list_file=/etc/vsftpd/chroot_list
  39. listen=YES
  40. pam_service_name=vsftpd
  41. guest_enable=YES
  42. #guest_username=www
  43. dual_log_enable=YES
  44. vsftpd_log_file=/var/log/vsftpd.log
  45. user_config_dir=/etc/vsftpd/vuser_conf
  46. userlist_enable=YES
  47. tcp_wrappers=YES
  48. #listen_address=172.20.1.175
  49. #listen_port=21000
  50. virtual_use_local_privs=YES
  51. EOF
  52. log"生成vsftpd配置文件"
  53. #创建虚拟用户目录
  54. if[!-e/etc/vsftpd/vuser_conf];then
  55. mkdir-p/etc/vsftpd/vuser_conf
  56. fi
  57. log"创建虚拟用户目录"
  58. #创建测试用户的根目录
  59. if[!-e/var/www/html/liufofu];then
  60. mkdir-p/var/www/html/liufofu
  61. fi
  62. log"创建虚拟用户目录"
  63. #创建测试用户
  64. cat>/etc/vsftpd/vuser_conf/liufofu<<EOF
  65. local_root=/var/www/html/liufofu
  66. write_enable=YES
  67. anon_world_readable_only=NO
  68. anon_upload_enable=YES
  69. anon_mkdir_write_enable=YES
  70. anon_other_write_enable=YES
  71. EOF
  72. #限制虚拟用户的虚根
  73. ls-l/etc/vsftpd/vuser_conf|grep-vtotal|awk'{print$NF}'>/etc/vsftpd/chroot_list
  74. #设置虚拟用户名和密码
  75. cat>/etc/vsftpd/ftplogins.txt<<EOF
  76. liufofu
  77. liufofu
  78. EOF
  79. if[-f/etc/vsftpd/ftplogins.txt];then
  80. chmod600/etc/vsftpd/ftplogins.txt
  81. fi
  82. #设置vsftpd的虚拟验证方法
  83. if[$(uname-a|grepx86_64|wc-l)-eq1];then
  84. cat>/etc/pam.d/vsftpd<<EOF
  85. #%PAM-1.0
  86. authrequired/lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
  87. accountrequired/lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
  88. EOF
  89. else
  90. cat>/etc/pam.d/vsftpd<<EOF
  91. #%PAM-1.0
  92. authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
  93. accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
  94. EOF
  95. fi
  96. log"设置vsftpd的虚拟验证方法"
  97. #建立vsftpd的宿主用户
  98. if[$(grepvsftpd/etc/passwd)-lt1];then
  99. useraddvsftpd-s/sbin/nologin
  100. usermod-a-Gwwwvsftpd
  101. fi--phpfensi.com
  102. log"建立vsftpd的宿主用户"
  103. db_load-T-thash-f/etc/vsftpd/ftplogins.txt/etc/vsftpd/vsftpd.db
  104. log"生成虚拟用户数据库"
  105. #启动vsftpd
  106. servicevsftpdstart

广告内容

linux中vsftpd虚拟用户配置脚本示例 linux中vsftpd虚拟用户配置脚本示例 linux中vsftpd虚拟用户配置脚本示例

相关阅读

热门评论

小明SEO博客 小明SEO博客

小明SEO博客,新时代SEO博客

总篇数171

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法