安装FTP:
1. 安装vsftpd
# 查看是否已安装 方法一
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64
# 查看是否已安装 方法二
[root@localhost ~]# vsftpd -v
vsftpd: version 3.0.2
# 安装 vsftpd
[root@localhost ~]# yum -y install vsftpd
2.查看位置:
[root@localhost ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd/etc/vsftpd/usr/share/man/man8/vsftpd.8.gz
3. 修改配置文件:
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
保证下面3项为YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
4. 启动vsftpd服务
[root@localhost ~]# systemctl start vsftpd.service
5.设置开机启动vsftpd服务
[root@localhost ~]# systemctl enable vsftpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
本地验证FTP是否可以访问:
2.1 安装FTP
[root@localhost ~]# yum -y install ftp
2.2 使用anonymous访问,无需密码
[root@localhost ~]# ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.2)
Name (localhost:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
220表示服务正常,可以登陆;230表示登陆成功。
验证远程访问FTP:
3.1关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
为防止防火墙重新开启,可永久关闭防火墙:
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]#
3.2 在window上输入ftp://IP地址,可看到ftp下的目录(pub为系统预设的)
3.3文件读写
到上面为止,我们发现ftp目录下并不能读写文件,这是由文件夹权限和selinux引起的。
3.3.1 设置文件夹权限,将pub文件夹的权限设置为777
[root@localhost ~]# chmod 777 -R /var/ftp/pub
3.3.2 关闭selinux服务
[root@localhost ~]# vi /etc/selinux/config
#SELINUX=enforcing 改为 SELINUX=disabled
note:修改配置文件必须 重启系统 才能生效:
/usr/sbin/sestatus -v|grep -i SELINUX 可以查看状态。
[root@localhost xdd]# setenforce 0 (临时设置生效)
3.3.3 重启服务
[root@localhost ~]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service
3.3.4 至此 仍然不行,不知为何。 执行下面的后才可以
[root@localhost pub]# getsebool -a |grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@localhost pub]# setsebool ftpd_full_access on
至此,ftp上传至/var/ftp/pub 就完全没问题了
reference: https://www.cnblogs.com/zhi-leaf/p/5983550.html