FTP 文件传输服务

简介: FTP 文件传输服务

FTP连接

控制连接:TCP 21,用于发送FTP命令信息

数据连接:TCP 20,用于上传、下载数据

数据连接的建立类型:  

主动模式:服务端从 20 端口主动向客户端发起连接  

被动模式:服务端在指定范围内某个端口被动等待客户端连接

FTP 用户的类型

匿名用户:  anonymous 或 ftp

本地用户:  帐号名称、密码等信息保存在 passwd、shadow 文件中

虚拟用户:  使用独立的帐号/密码数据文件

Vsftpd 软件包

主程序:/usr/sbin/vsftpd

服务名:vsftpd

用户控制列表文件  /etc/vsftpd/ftpusers  /etc/vsftpd/user_list

主配置文件  /etc/vsftpd/vsftpd.conf

常用的全局配置项
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一 IP 地址的并发连接数
常用的匿名 FTP 配置项
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率

匿名登录

1、准备访问目录

[root@hfj vsftpd]# chown ftp /var/ftp/pub
[root@hfj vsftpd]# ls -ld /var/ftp/pub
drwxr-xr-x. 2 ftp root 4096 3月  22 16:48 /var/ftp/pub

2、配置vsftpd.conf文件

配置匿名访问的主要选项如下:

anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录,需要手动添加。
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
local_enable=NO:是否启用本地系统用户

3、启动vsftpd服务:默认关闭

[root@hfj vsftpd]# systemctl start vsftpd
                                  systemctl enable vsftpd  开机启动。
[root@hfj vsftpd]# ps -ax|grep vsftpd
 188828 ?        Ss     0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
 189169 pts/3    S+     0:00 grep --color=auto vsftpd

4、访问测试:

[root@hfj vsftpd]# netstat -anpt |grep vsftpd
tcp        0      0 0.0.0.0:21           0.0.0.0:*         LISTEN      188828/vsftpd
[root@hfj vsftpd]# ftp 10.5.63.202   或者输入主机名称
Connected to 10.5.63.202 (10.5.63.202).
220 Welcome to hfj FTP service.
Name (10.5.63.202:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,5,63,202,160,131).
150 Here comes the directory listing.
drwxr-xr-x    2 14       0            4096 Mar 22 08:48 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.

不启用user_list的用户登录

1、打开ftp访问权限

检查selinux 中关于ftp的策略

#getsebool -a | grep ftp

打开ftp访问权限

#setsebool  -P  ftpd_full_access=on

2、本地用户配置文件:vsftpd.conf

anonymous_enable=NO 禁止匿名开放模式
local_enable=YES 允许本地用户模式
guest_enable=YES 开启虚拟用户模式
guest_username=virtual 指定虚拟用户账户
pam_service_name=vsftpd.vu 指定 PAM 文件
allow_writeable_chroot=YES
允许对禁锢的 FTP 根目录执行写入操作,而且不拒绝用
户的登录请求

常见错误汇总:

1、vsftpd要安装成功,ftp客户端软件要安装成功。

2、配置文件,不明白不清楚的地方不要乱改。Linux是文本配置型操作系统,配置文件不懂的千万不要乱改,修改时要小心,注释信息不要动。

3、改完配置文件后要重新启动vsftpd服务。

4、访问ftp服务,要使用正常可以登陆操作系统的普通用户,可以使用ssh远程或者用虚拟主机直接登录一下尝试一下是否能够访问。

5、关闭selinux、firewalld。

相关文章
|
6天前
|
监控 Ubuntu 安全
Ubuntu开启FTP服务教程
在Ubuntu服务器上配置FTP服务是一个常见的需求,无论是用于文件分享、网站管理还是数据备份。FTP(文件传输协议)是一种用于在网络上传输文件的协议,它可以让用户通过身份验证下载或上传文件。本文将指导您如何在Ubuntu系统上安装和配置FTP服务器,以及如何管理用户权限来保证服务器的安全性。
151 0
|
6天前
|
安全 算法 网络协议
【Linux】文件服务FTP(File Transfer Protocol)
【Linux】文件服务FTP(File Transfer Protocol)
57 0
|
6天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
|
6天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
36 1
|
6天前
|
弹性计算 Ubuntu
Ubuntu 20.04安装FTP服务
以阿里云ECS为服务器,搭建FTP服务并在本机使用FileZilla连接服务。
346 2
|
6天前
|
Docker 容器
docker 安装ftp服务
docker 安装ftp服务
111 0
|
6天前
|
安全 网络协议 Linux
哇~~真的是你呀!今天是LINUX中的FTP服务
FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机网络中传输文件的标准协议。它允许用户从一个计算机(称为FTP客户端)向另一个计算机(称为FTP服务器)发送和接收文件。 以下是FTP服务的一些关键特点和功能:
48 0
|
6月前
|
Linux 网络安全 开发工具
如何在linux搭建FTP服务
如何在linux搭建FTP服务
66 0
|
6月前
|
Linux
手把手教你Linux下搭建ftp服务
手把手教你Linux下搭建ftp服务
159 1
|
8月前
|
Web App开发 弹性计算 缓存
基于ECS搭建FTP服务
本教程介绍如何在Linux实例上安装并配置vsftpd,在被动模式下,使用本地用户访问FTP服务器的配置方法。。
289 1