- 查看是否安装了 vsftpd
rpm -qa |grep vsftpd
2.下载并且安装 vsftpd
yum -y install vsftpd
3.设置为开机自启动
systemctl enable vsftpd
3.为确保成功,先启动firewalld 服务
systemctl enable firewalld
systemctl restart firewalld
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
4.设置SELINUX
阿里云服务器的CentOS7.3 默认已永久关闭
如果想开启 cd /etc/sysconfig vim selinux 注释掉所有内容 添加SELINUX=1 :wq
如果selinux 开的话,配置selinux 允许ftp访问home和 外网访问
-- setsebool -P allow_ftpd_full_access on
--setsebool -P ftp_home_dir on
6.启动ftp服务
Systemctl start vsftpd.service
7. 添加用户组和用户名 -g之后是用户组 最后是ftpuser是用户名
useradd -g root -d /home/ftpfile ftpuser
--注解: ftpuser 用户名 /home/ftpfile 文件存放的位置
- 设置密码
Passwd ftpuser
- 设置文件夹权限
chown root.ftpuser /home/ftpfile #设置文件夹所属用户 如果设置为ftpuser将导致ftp一直提示用户验证失败
chmod 770 /home/ftpfile #ftpfile以及其同组用户 可读可写可执行
10修改配置文件
修改前先备份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-bak
vim /etc/vsftpd/vsftpd.conf
具体修改参考http://www.jb51.net/article/94223.htm
anonymous_enable=NO(主要就这一个)
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
以上是配置文件
如果你的ftp用户登陆目录默认的是不是在 /home/ftp下,出现了500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
出错原因:用户没有变更根目录的权限。
ftp用户默认的根目录是/home/ftp,如果要切换登陆目录,需要给予权限
解决方案
打开/etc/vsftpd/vsftpd.conf,做如下配置:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/chroot_list
第二部
在/etc/vsftpd下新建chroot_list,加入登陆用户的名字
然后再到/etc/vsftpd目录下新建chroot_list 文件 并添加允许访问的用户
修改完成后重启服务
service vsftpd restart
输入 ftp://ip即可进行验证