【技术指南】CentOS安装FTP及配置用户
什么是vsftpd
安装vsftpd
[]
[]
[]
[]
[]
配置防火墙
[]
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
[]
配置vsftpd服务器
chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list
[]
[]
[]
如:这里是在wwj用户下面追加了刚添加sgl用户 wwj
sgl
[]
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
配置规则
chroot_list_enable=YES/NO(NO)
chroot_list_file=/etc/vsftpd.chroot_list
chroot_local_user=YES/NO(NO)
通过搭配能实现以下几种效果:
①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
vsftpd的防火墙配置
[]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
[]
[]
pasv_enable=YESpasv_min_port=40000pasv_max_port=40080pasv_promiscuous=YES
[]
[]
-A INPUT -p tcp -m multiport --dports 40000:40080 -j ACCEPT
[]
可能的错误
报以下错误:响应: 500 OOPS: cannot change directory:/home/sgl错误: 严重错误: 无法连接到服务器错误原因:由于selinux里设置了关闭ftp,运行命令查看SE:getsebool -a
|grep ftp,解决如下:[root@localhost vsftpd]# getsebool -a|grep ftpallow_ftpd_anon_write --> offallow_ftpd_full_access --> offallow_ftpd_use_cifs --> offallow_ftpd_use_nfs --> offftp_home_dir --> offftpd_connect_db --> offftpd_use_fusefs --> offftpd_use_passive_mode --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_use_cifs --> offtftp_use_nfs --> off解决方法:将ftp_home_dir设置为on,执行以下命令,然后即可ftp登录:[root@localhost vsftpd]# setsebool ftp_home_dir 1或者[root@localhost vsftpd]# setsebool -P ftp_home_dir 1-P参数表示永久生效,关机重启后无需再设置
报以下错误:响应: 553 Could not create file.错误: 严重文件传输错误问题原因:也是selinux设置的问题解决方法:运行命令[root@localhost vsftpd]# setsebool allow_ftpd_full_access 1或者[root@localhost vsftpd]# setsebool -P allow_ftpd_full_access 1
如果按上面设置还是无法搞定,终极解决方法:关闭SELinux方法1:永久关闭,需要重启服务器修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。方法2:临时关闭使用命令setenforce 0[]
setenforce 1 设置SELinux 成为enforcing模式setenforce 0 设置SELinux 成为permissive模式
内容来源于网络,侵删
鉴于篇幅有限,更多详细课程大纲/知识体系/实体书籍/网工必备工具包等请扫码加群获取!
领取福利
