CentOS6.5配置xftp

安装
sudo yum install vsftpd

sudo yum install ftp


添加用户

adduser ftpuser
passwd ftpuser

禁止用户的 ssh 登录权限,只允许 FTP 访问:

usermod -s /sbin/nologin userftp

配置 VSFTP

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO#关闭匿名访问
local_enable=YES#去掉local_enable 的注释,修改为开启
chroot_local_user=YES#限制用户仅能访问自己的主目录

设置用户的主目录:(不设置时,默认为用户的家目录/home/userftp)


local_root=/hotdata#使用本地用户登录到ftp时的默认目录

这里,local_root表示使用本地用户登录到ftp时的默认目录

允许虚拟用户上传文件

#允许虚拟用户上传文件
write_enable=YES 
anon_upload_enable=YES

允许虚拟用户修改文件名和删除文件的选项

#允许虚拟用户修改文件名和删除文件的选项
anon_other_write_enable=YES 

可能出现的问题:

启动ftp报错:Starting vsftpd for vsftpd: 500 OOPS错误

[root@hotdata ~]# service vsftpd restart
Shutting down vsftpd:                                      [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: missing value in config file for: 122,1  
                                                           [FAILED]
[root@hotdata ~]# 

这个错误的原因一般是配置文件中存在空格或换行引起的 
产生这个错误的时候要检查下配置文件是否有空格和换行 
错误配置:

listen_port= 4500#这里有空格
local_root=/hotdata


上传报错,只有777权限的文件夹可以上传
状态: 开始上传 C:\Users\Administrator\Desktop\test\log1.txt
命令: PASV
响应: 227 Entering Passive Mode (120,24,238,170,102,186).
命令: STOR log1.txt
响应: 553 Could not create file.
错误: 严重文件传输错误

[root@fengniu020 temp]# /usr/sbin/sestatus -v   
SELinux status:                 disabled


附上admin设置

write_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=YES
anon_other_write_enable=YES
download_enable=YES
local_root=/var/www/html/  


然后就可以在windows使用xftp软件上传,上传时可能提示用户验证失败,需要将登陆模式改为主动模式

上传也可能会提示Cound not create file

需要设置selinux:

[root@beaconvm02 vsftpd]# getsebool -a | grep ftp  
allow_ftpd_anon_write --> off  
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_full_access设置为on,修改设置

[root@beaconvm02 vsftpd]# setsebool allow_ftpd_full_access on  







你可能感兴趣的:(Linux)