CentOS 7.2搭建ftp服务
ftp服务简介
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
认证方式
匿名开放模式:任何人无需密码直接登录ftp服务器上
本地用户模式:使用系统本地使用的用户名密码登录ftp服务器
虚拟用户模式:需要ftp服务器建立单独的用户数据库文件,使用虚拟出来的用户信息来进行认证。
CentOS 7 搭建ftp服务器
一、准备工作
关闭selinux
关闭系统防火墙(firewalld)
配置网络
配置本地yum 源
二、通过yum安装vsftpd
yum install -y vsftpd ftp
三、编辑vsftpd的主要配置程序
vsftpd主要配置程序简介
vsftpd的主要配置程序有123行,但是大部分都被注释,没有被注释的参数如下
anonymous_enable=YES #是否以匿名方式访问
local_enable=YES #是否允许本地用户登录ftp
write_enable=YES #是否允许写入
local_umask=022 #本地用户上传文件的umask值
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO #是否以独立运行的方式监听服务
listen_ipv6=YES #监听ipv6地址
pam_service_name=vsftpd #指定PAM的配置文件为vsftpd
userlist_enable=YES #只允许userlist文件中的账号登录
tcp_wrappers=YES
匿名开放模式
安装完vsftpd之后ftp的匿名开放模式默认打开,只用修改配置文件来控制ftp服务器上传,下载,删除等权限。
部分参数:
anonymous_enable=YES 允许匿名访问模式
anon_umask=022 匿名用户上传文件的umask值
anon_upload_enablemYES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户修改目录名称或删除目录
将配置写入配置文件之后重启vsftpod
[ rootelinuxprobe ~]# systemctl restart vsftpd
[ rootelinuxprobe ~]# systemctl enable vsftpd
1ns'/usr/1ib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target. wants/vsftpd. service
现在就可以在客户端执行ftp命令连接到远程的FTP服务器了。在vsftpd服务程序的匿名开放认证模式下,其账户统一为anonymous,密码为空。而且在连接到FTP服务器后,默认访问的是/var/ftp目录。我们可以切换到该目录下的pub目录中,然后尝试创建一个新的目录文件,以检验是否拥有权限。
本地用户模式
将配置文件中允许匿名方式访问关闭。
配置部分参数
anonymous_enable=No 禁止匿名访问模式
1ocal_enable=YES 允许本地用户模式
write_enable=YES 设置可写权限
1ocal_umask=022 本地用户模式创建文件的umask值
userlist_enable=YEs 启用“禁止用户名单”,名单文件为ftpusers和user_list user1ist_deny=YES 开启用户作用名单文件功能
将配置写入配置文件之后重启vsftpod
[ rootelinuxprobe ~]# systemctl restart vsftpd
[ rootelinuxprobe ~]# systemctl enable vsftpd
1ns'/usr/1ib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target. wants/vsftpd. service