CentOS配置VSFTP服务器
[1] 安装VSFTP
yum -y install vsftpd
[2] 修改配置文件vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
#允许匿名FTP?
#此配置默认是YES
anonymous_enable=NO
#设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒。值为600
#此配置默认是被注释的
idle_session_timeout=600
#设置建立FTP数据连接的超时时间,单位为秒。默认值为120。
#此配置默认是被注释的
data_connection_timeout=120
#FTP在传输数据时,可以使用二进制方式,也可以使用ASCII模式来上传或下载数据
#设置是否启用ASCII 模式上传,下载数据。默认值为NO。
#此配置默认是被注释的
ascii_upload_enable=YES
ascii_download_enable=YES
#这里用来定义欢迎话语的字符串,banner_file是档案的形式,而ftpd_banner 则是字符串的形式。预设为无。
#此配置默认是被注释的
ftpd_banner=Welcome to lightnear FTP service.
#用于指定用户列表文件中的用户是否允许切换到上级目录。
#默认值为NO。
chroot_local_user=YES
#若是启用此功能,则允许登入者使用ls –R(可以查看当前目录下子目录中的文件)这个指令。
#默认值为NO。
ls_recurse_enable=YES
#控制用户访问:
#决定vsftpd.user_list文件中的用户是否能够访问FTP服务器。若设置为YES,则vsftpd.user_list文件中的用户不允许访问FTP,若设置为NO,则只有vsftpd.user_list文件中的用户才能访问FTP。
userlist_deny=NO
#本地用户设置
#当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。
local_root=/var/public_root
#使用本地时间
use_localtime=YES
[3] 增加FTP帐户
useradd cent -s /sbin/nologin
passwd cent
[4] 编辑user_list文件,允许cent用户访问FTP
vi /etc/vsftpd/user_list
在文件最后贴上这个用户
cent
[5] 建立我们的根目录,并设置访问权限
mkdir /var/public_root
chown -R cent /var/public_root
chmod -R 755 /var/public_root
[6] 开启vsftpd服务
service vsftpd start
[7] 默认开启vsftp服务
chkconfig vsftpd on
[8] FTP配置
1.默认sftp可以登录,但是ftp不能登录;需要在/etc/vsftpd/vsftpd.conf配置中,加入ftp的默认端口21(sftp 默认端口是22)。
vi /etc/vsftpd/vsftpd.conf
listen_port=21
2.然后需要防火墙开放21端口
3.使用huang用户连接ftp时,报如下错误
500 OOPS:cannot change directory:/home/huang
4.解决方法
原因:这是因为服务器开启了selinux,这限制了FTP的登录。
解决方法:
1.执行setsebool -P ftpd_disable_trans 1
然后重启ftp :service vsftpd restart
2.执行setsebool -P ftpd_disable_trans 1报错Boolean ftpd_disable_trans is not defined的话
([root@windos-test-01 vsftpd]# setsebool -P ftpd_disable_trans 1
Boolean ftpd_disable_trans is not defined)
先执行setsebool ftp_home_dir 1
查看getsebool -a |grep ftp_home 结果如下:
ftp_home_dir --> on
然后再照第1种方法执行;
3.如果还是不成功的话,执行以下命令,然后重启FTP
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_full_access 1
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@windos-test-01 vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@windos-test-01 vsftpd]# setsebool -P ftp_home_dir 1
[root@windos-test-01 vsftpd]# setsebool httpd_enable_ftp_server 1
[root@windos-test-01 vsftpd]# setsebool tftp_anon_write 1
[root@windos-test-01 vsftpd]# service vsftpd restart
5.浏览器测试FTP,浏览器输入
ftp://192.168.194.100
然后输入账号密码,会登陆成功