弄了几天,,莫名其妙就好了。。。
首先安装,然后启用
yum install vsftpd service vsftpd start
修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
配置文件很容易理解,小写字母=YES/NO代表启用或关闭
anonymous_enable=YES,启用匿名登录
local_enable=YES,允许本地登录
write_enable=YES,允许写入
anon_upload_enable=YES,允许匿名用户anonymous写入
ascii_upload_enable=YES,ascii模式上传启动
ascii_download_enable=YES,ascii模式下载启动
tips:关于ascii模式,百度了下,简单说就是上传下载的时候不修改源文件,原封不动的传输,这样的话,windows与linux/unix的编码不同也仍旧可以传输,不然的话,诸如换行等不同系统有不同解释的编码就会被修改,因此原文件被改变,所以导致上传或下载的文件已经被损坏,而使用ascii模式就不会有这个影响。
userlist_deny=NO,这一项需要和/etc/vsftpd/user_list配合使用,NO时表示只允许user_list里的用户登录,而YES表示禁止user_list内的用户登录
配置如上几项基本已经可以使用了,其他的我以后再学习
配置完这些,重启下vsftpd使生效
service vsftpd restart
这就可以使用了?不行~~防火墙会阻止访问的,只能关闭防火墙了
service iptables stop
可以访问了,但是不能上传,SElinux会阻止上传,先看看SElinux有哪些和ftp相关的配置
getsebool -a |grep ftp
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off
allow_ftpd_anon_write --> off
看到了吧?allow_ftpd_anon_write --> off,匿名用户上传被禁止了,将其修改为on
setsebool -P allow_ftpd_anon_write on
[root@localhost /]# ll -Z /var/ftp/
这样还是不能使用,百度了下,找到了解决办法,但是暂时还不懂为什么,标记下,以后再看看
drwxr-xrwx root root system_u:object_r:public_content_t pub
查看pub目录的属性,发现public_content_t 表示该目录并没有写属性,需要改为具有写属性,操作:chcon -t public_content_rw_t pub