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服务器提供的资源,大大增强了系统的安全,代码如下:
- #!/bin/bash
- #########################################
- #########descprition##################
- #1.安装vsftpd
- #2.配置vsftpd虚拟化
- ########################################
- #initvariables
- PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
- exportPATH
- ff_outputdir=/tmp/liufofu
- curdate=$(date+%Y%m%d)
- curtime=$(date+%H%M%S)
- ff_logfile=${ff_outputdir}/$$.log
- #
- if[!-e${ff_outputdir}];then
- mkdir-p${ff_outputdir}
- fi
- #处理过程中产生的日志由日志函数来进行处理记录
- functionlog()
- {
- echo"`date+"%Y:%m:%d%H-%M-%S"`$1">>${ff_logfile}
- }
- yum-yinstallvsftpd
- yum-yinstalldb4-utils
- #生成vsftpd配置文件
- cat>/etc/vsftpd/vsftpd.conf<<EOF
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- local_umask=022
- log_ftp_protocol=YES
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- xferlog_file=/var/log/xferlog
- xferlog_std_format=YES
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd/chroot_list
- listen=YES
- pam_service_name=vsftpd
- guest_enable=YES
- #guest_username=www
- dual_log_enable=YES
- vsftpd_log_file=/var/log/vsftpd.log
- user_config_dir=/etc/vsftpd/vuser_conf
- userlist_enable=YES
- tcp_wrappers=YES
- #listen_address=172.20.1.175
- #listen_port=21000
- virtual_use_local_privs=YES
- EOF
- log"生成vsftpd配置文件"
- #创建虚拟用户目录
- if[!-e/etc/vsftpd/vuser_conf];then
- mkdir-p/etc/vsftpd/vuser_conf
- fi
- log"创建虚拟用户目录"
- #创建测试用户的根目录
- if[!-e/var/www/html/liufofu];then
- mkdir-p/var/www/html/liufofu
- fi
- log"创建虚拟用户目录"
- #创建测试用户
- cat>/etc/vsftpd/vuser_conf/liufofu<<EOF
- local_root=/var/www/html/liufofu
- write_enable=YES
- anon_world_readable_only=NO
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
- EOF
- #限制虚拟用户的虚根
- ls-l/etc/vsftpd/vuser_conf|grep-vtotal|awk'{print$NF}'>/etc/vsftpd/chroot_list
- #设置虚拟用户名和密码
- cat>/etc/vsftpd/ftplogins.txt<<EOF
- liufofu
- liufofu
- EOF
- if[-f/etc/vsftpd/ftplogins.txt];then
- chmod600/etc/vsftpd/ftplogins.txt
- fi
- #设置vsftpd的虚拟验证方法
- if[$(uname-a|grepx86_64|wc-l)-eq1];then
- cat>/etc/pam.d/vsftpd<<EOF
- #%PAM-1.0
- authrequired/lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
- accountrequired/lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
- EOF
- else
- cat>/etc/pam.d/vsftpd<<EOF
- #%PAM-1.0
- authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
- accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd
- EOF
- fi
- log"设置vsftpd的虚拟验证方法"
- #建立vsftpd的宿主用户
- if[$(grepvsftpd/etc/passwd)-lt1];then
- useraddvsftpd-s/sbin/nologin
- usermod-a-Gwwwvsftpd
- fi--phpfensi.com
- log"建立vsftpd的宿主用户"
- db_load-T-thash-f/etc/vsftpd/ftplogins.txt/etc/vsftpd/vsftpd.db
- log"生成虚拟用户数据库"
- #启动vsftpd
- servicevsftpdstart
热门评论