centos7: vsftpd安装及启动: ftp配置(以虚拟用户为例)
centos7: vsftpd安装及启动: ftp配置
1安装:
yum -y install vsftpd /bin/systemctl start vsftpd.service #启动 /bin/systemctl enable vsftpd.service #开机启动
2.目录说明
/etc/pam.d/vsftpd #基于pam的vsftpd验证配置文件 /etc/vsftpd #软件主目录 /etc/vsftpd/vsftpd.conf #主程序配置文件 /etc/vsftpd/user_list #通过主配置文件设置的黑名单或白名单 /etc/vsftpd/ftpusers #默认的vsftpd黑名单 /usr/sbin/vsftpd #主程序
3.confi配置文件
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES chroot_local_user=YES listen=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO tcp_wrappers=YES
例如:创建虚拟ftp账户,登录ftp
1.创建虚拟用户数据库
依赖:
yum -y install db4-utils
账户:可以添加多个
vi /etc/vsftpd/vlogin
tomcat #用户 123456 #密码
加密处理
db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db chmod 600 /etc/vsftpd/{vlogin, vlogin.db}
2.创建pam文件,验证虚拟账户
vi /etc/pam.d/vsftpd.pam
#先要确定你的linux内核是64位的,还是32位的,32位的不能用lib64 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
3.ftp登录的虚拟目录
/var/html/wwwroot
4.创建虚拟用户的目录配置目录及文件
mkdir /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/tomcat
内容为:local_root=/var/html/wwwroot
5.配置vsftpd.conf
anonymous_enable=NO #禁止匿名访问 local_enable=YES #启用本机ftp访问功能 write_enable=YES #允许写功能 anon_upload_enable=YES #上传权限 anon_mkdir_write_enable=NO #新建目录权限 anon_other_write_enable=NO #删除/重命名的权限 anon_umask=022 #新建目录权限上传的 #所有非匿名用户映射到vsftpd用户 guest_enable=YES guest_username=vsftpd #本地账户掩码 local_umask=077 dirmessage_enable=YES #用户进入目录显示信息 xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/xferlog #限制用户在本目录下,禁止用户切换上级根目录权限 chroot_local_user=YES chroot_list_enable=NO allow_writeable_chroot=YES listen=YES #监听端口 listen_port=21 #监听入站FTP端口号 #被动模式 pasv_enable=YES pasv_min_port=30000 pasv_max_port=30999 pam_service_name=vsftpd.pam #虚拟账户 user_config_dir=/etc/vsftpd_user_conf user_sub_token=$USER #yes为白名单 userlist_enable=YES userlist_deny=YES tcp_wrappers=YES
6.在/etc/sysconfig/iptables添加防火墙规则
#FTP -A INPUT -p tcp --dport 21 -j ACCEPT -A INPUT -p tcp --dport 20 -j ACCEPT -A OUTPUT -p tcp --sport 21 -j ACCEPT -A OUTPUT -p tcp --sport 20 -j ACCEPT #ftp-pasv_min/max -A INPUT -p tcp --dport 30000:30999 -j ACCEPT -A OUTPUT -p tcp --sport 30000:30999 -j ACCEPT
如果不行请查看
iptables -nL
清楚防火墙规则
iptables -F