Linux云服务器初学之八——FTP服务
2018-03-13 11:14
113 查看
FTP服务
FTP服务是Internet上最早应用主机之间进行数据传输的基本服务之一。FTP服务的一个非常重要的特点就是可以独立于平台,也就是说在UNIX、MAC、Windows等操作系统中都可以实现FTP的客户端和服务器。尽管目前已经普遍采用HTTP方式传送文件,但FTP仍然是跨平台直接传送文件的主要方式。FTP在文件传输中还支持断点续传功能,可以大幅度地减小CPU和网络带宽的开销。FTP的文件传输模式
(1) 主动模式客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了**端口(大于1024的随机端口),你把数据通过我打开的这个端口发送给我”。
于是服务器从20端口向客户端的**端口发送连接请求,建立一条数据链路来传送数据。
(2)PASV(被动)方式的连接过程是:(默认是被动模式)
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了**端口(大于1024的随机端口),你过来提取数据”。
于是客户端向服务器的**端口发送连接请求,建立一条数据链路来传送数据。
抉择?:
防火墙会拒绝进来的包,所以两种模式都有可能被拒绝掉。
折中的方法就是使用被动模式,并指定一个连接过来的端口范围,可以针对这个范围的端口进行一个防火墙的设置。
FTP服务的安装及配置
(1)安装ftp服务yum -y install vsftpd –服务端
yum -y install ftp lftp –客户端
FTP配置文件:
主配置文件:/etc/vsftpd/vsftpd.conf
用户访问控制配置文件:/etc/vsftpd/{ftpusers, user_list}
FTP的家目录:/var/ftp
(2) 启动服务
1.启动服务
service vsftpd restart
关闭 vsftpd: [失败]
为 vsftpd 启动 vsftpd: [确定]
2.设为开机自启动
chkconfig vsftpd on
netstat -ntl |grep :21 –现在是只能看到监听21端口
tcp6 0 0 :::21 :::* LISTEN
3.查看是否启动成功
lsof -i:21
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vsftpd 3321 root 3u IPv4 21400 0t0 TCP *:ftp (LISTEN)
(3) 修改配置文件
vim /etc/vsftpd/vsftpd.conf
可修改如下参数
12 anonymous_enable=YES –是否允许匿名用户登陆,yes是允许
16 local_enable=YES –允许本地用户登陆
19 write_enable=YES –允许本地用户写权限
23 local_umask=022 –本地用户上传或创建文件时的权限
37 dirmessage_enable=YES –文件的描述
40 xferlog_enable=YES –开启日志(/var/log/xferlog),只上传和下载的记录
43 connect_from_port_20=YES –是否允许开启主动模式,通过20端口传输数据
57 xferlog_std_format=YES –为yes的话代表创建一个新的日志文件,为no的话,日志放到/var/log/vsftpd.log文件里
114 listen=YES –独立模式,为yes代表是用vsftpd本身脚本启动,为no代表要以xinetd守护进程启动
125 pam_service_name=vsftpd –支持模块的植入
126 userlist_enable=YES –打开用户列表
127 tcp_wrappers=YES –通过TCP把数据打包再传输
27 #anon_upload_enable=YES –默认是注释的,意为允许匿名用户上传文件
31 #anon_mkdir_write_enable=YES –默认是注释的,意为允许匿名用户创建文件
(4)实例
实例1 : 禁止匿名用户登录
12 anonymous_enable=NO –改为NO
结果
ftp 192.168.5.10
Connected to 192.168.5.10 (192.168.5.10).
220 (vsFTPd 3.0.2)
Name (192.168.5.10:root): ftp
331 Please specify the password.
Password:
530 Login incorrect.
Login failed. –登陆失败
实例2:匿名用户的下载和上传
anonymous_enable=YES
anon_upload_enable=YES –允许匿名用户上传文件,这行默认是注释掉的,要把#去掉
anon_mkdir_write_enable=YES –允许匿名用户创建目录,这行默认是注释掉的,要把#去掉
总结:匿名用户只能对登录目录内的子目录里面进行上传,并且对这个子目录要有w权限,还要有anon_upload_enable=YES和anon_mkdir_write_enable=YES的支持就可以上传了
实例3:关于普通用户(系统的普通用户)的登录
local_enable=NO –建议使用服务的参数去禁止,但是这里会把所有的普通用户给禁止掉,要实现特定的用户的控制
实例4: 白名单和黑名单
1.修改配置文件
userlist_enable=yes –打开用户列表功能,默认就是打开的
userlist_deny=YES\NO –加上这句,启用黑名单\白名单
2.修改用户名单
vim /etc/vsftpd/user_list
此处的用户当上方为YES是就为禁止登录,NO则为只允许名单里的允许登录。
相关文章推荐
- 【初学菜鸟作--DNS,HTTP,NFS,FTP,邮件服务综合项目部署】
- Linux云服务器初学之七——NFS服务
- linux初学之ftp服务
- SuSE Linux 9下FTP、Telnet、图形终端服务的基本配置
- Windows 2003 中利用IIS组件架设PASV模式FTP服务
- ubuntu 开启 ftp 服务 | mingming-killer
- FTP 文件共享服务
- Centos 6.5 安装FTP服务
- win7下开启FTP服务
- TP-LINK WR703N 刷OpenWrt并设置pppoe联网、安装LUCI、添加新用户、挂载USB设备、配置ftp服务、借由transmission实现脱机下载
- 在Windows Server 2008 R2下搭建FTP服务
- linux服务搭建----ftp与ftp yum源搭建
- nginx下ftp服务搭建
- VB.NET FTP传输及Win7下的FTP服务配置
- Linux开启FTP(vsftpd)服务
- ftp服务
- FTP服务
- Linux开启FTP(vsftpd)服务
- redhat5下开启FTP服务
- Selenium中配置链接使用FTP服务