ftp服务
ftp服务的安装
1、环境准备
2、安装服务
3、配置文件
3.1、匿名访问
把以下三个匿名上传写入开启
启动并查看服务状态:
Linux客户端访问:
Tips:
220表示服务正常,可以登陆;230表示登陆成功。
使用get下载,put上传
Windows客户端访问:
3.2 账号密码访问
修改配置文件内容如下:
anonymous_enable=NO #禁止匿名访问
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chown_uploads=NO
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES /设定支持ASCII模式的上传和下载功能
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES #限制所有用户都在家目录。用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
chroot_list_enable=YES #调用限制在家目录的用户名单。设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd/chroot_list #限制在家目录的用户名单所在路径设置参考
创建用户
[root@localhost vsftpd]# useradd -d /home/ftpuser -g ftp -s /sbin/nologin ftpuser
[root@localhost home]# passwd ftpuser
启动并查看服务状态:
Linux客户端访问:
Windows用户访问:
FTP
FTP (File transfer protocol) 是传输协议之一,他最主要的功能是在服务器与客户端之间进行档案的传输。
2. FTP 服务概述
1) 了解两种工作模式:
主动模式:消息端口21,数据端口20
被动模式:消息端口21,数据端口随机
Tips:
建立连接:
客户端发送连接请求,同时打开一个大于 1024 的端口,比如 1031 端口,若 FTP 服务器侦听到该请求,则会在 1031 端口和 FTP 的 21 端口之间建立起一个 FTP 会话连接。
传输数据:
当需要传输数据时,客户端再动态的打开一个大于 1024 的端口连接到 FTP 得 20 端口,并在这个两个端口之间进行数据传输。
FTP 协议中,控制连接均有客户端发起,而数据连接有两种工作方式:
PORT 主动方式和PASV 被动方式
主动
client server
1024+ ---------------> 21
1024+N <-------------- 20
客户端使用1024 以上的端口连接服务器的21 号端口,并且会事先开启一个1024+N 的端口准备让服务器来连接,服务器得知客户端准备的端口后,用20 号端口与客户端连接,创建数据链路时server 端处于主动去连接客户端的状态固称为主动传输模式
被动
client server
1024+ ---------------> 21 1024+M
1024+ <--------------
1024+N --------------->1024+M
客户端使用1024 以上的端口连接服务器的21 号端口,服务器接到连接请求后,开启一个1024+M 的端口等待客户端来连接,再通知客户端这个等待连接的端口号是1024+M,客户端接到服务器端的信息后,开启新的一个1024+N 的端口与1024+M 进行连接,创建数据连接时,server 端处于被客户端连接的状态,固称为被动传输模式.
vsftp 默认是根据客户端不同而使用不同模式,windows 客户端则使用主动,linux 客户端则使用被动
可以用 pasv_enable=NO 来强制使用主动
2) 了解vsftpd软件包:“very secure”的FTP服务器软件
3. 匿名用户默认配置
1) 了解匿名用户默认共享目录:/var/ftp/
2) 掌握匿名用户默认的权限:
具备下载权限,不具备上传,创建文件夹,修改和删除的权限
4. 匿名用户常用参数
1) 掌握anon_upload_enable参数的意义:
是否允许匿名用户上传文件
2) 了解anon_world_readable_only参数的意义:
是否允许匿名用户浏览
3) 掌握anon_mkdir_write_enable参数的意义:
是否允许匿名用户创建目录
4) 掌握anon_other_write_enable参数的意义:
是否允许匿名用户修改删除
5. FTP客户端
1) 了解Linux下FTP客户端:
lftp软件 :下载命令为get,上传命令为put
2) 了解Windows下FTP客户端:
Windows命令提示窗口
6. 设置本地用户登录FTP
1) 了解设置SELinux为警告模式:
setenforce 0
2) 了解创建FTP本地用户限制其不能登录系统:
useradd 用户名 –s /sbin/nologin
7. 本地用户默认配置
1) 了解本地用户默认共享目录:用户的家目录
例如:tom用户登录FTP服务器的共享目录为tom的家目录,tom默认家目录为/home/tom
2) 了解本地用户默认的权限:具备下载,上传,创建文件夹,修改和删除的权限
8. FTP限速等参数
1)掌握 max_clients参数的意义:设置最大的客户机连接数量即并发量
2)掌握local_max_rate 参数的意义:限制本地用户上传下载的速率
3)掌握 anon_max_rate 参数的意义:限制匿名用户上传下载的速率
4)了解max_per_ip 参数的意义:设置每个IP最大的线程数