centos 搭建ftp service

安装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为系统预设的)

centos 搭建ftp service_第1张图片

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

你可能感兴趣的:(centos 搭建ftp service)