VSFTP服务--Linux学习笔记

基本介绍:

FTP:
FTP是File Transfer Protocol(文件传输协议)的缩写。
FTP本质上是一个应用程序,用于在互联网上控制文件的双向传输。
VSFTP:
VSFTP(Very Secure FTP)是一个类Unix系统上使用的FTP服务器软件。VSFTP是Linux系统下使用最多的FTP服务端,具有很多其他的FTP服务不支持的特性。
特性:

  • 安全性
  • 带宽限制
  • 虚拟用户
  • 高性能
  • 高速
  • 支持IPv6

VSFTP服务的安装:

1.Redhat、CentOS等使用RPM包的发行版

yum install vsftpd

或者下载VSFTP的RPM包,通过RPM命令来安装

rpm –ivh vsftpd*.rpm

2.Debian、Ubuntu等使用DEB包的发行版

apt-get install vsftpd

3.源码包安装

[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz
[root@localhost ~]# cd vsftpd-2.0.3
[root@localhost ~]# make ;make install
[root@localhost ~]# cp vsftpd.conf /etc

VSFTP服务的启动和关闭:

1.启动VSFTP服务:

service vsftpd start 或  /etc/init.d/vsftpd start    

2.关闭VSFTP服务

service vsftpd stop 或   /etc/init.d/vsftpd stop

3.重启VSFTP服务

service vsftpd restart 或/etc/init.d/vsftpd restart

4.检查VSFTP服务

service vsftpd status 或/etc/init.d/vsftpd status

VSFTP服务的传输模式

FTP会话的两个通道:控制通道和数据通道。
控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令。
数据通道是和FTP服务器进行文件传输或者列表的通道。

PORT模式(主动模式)
VSFTP服务--Linux学习笔记_第1张图片

PASV模式(被动模式)
VSFTP服务--Linux学习笔记_第2张图片

VSFTP服务的运行模式

xinetd模式和standalone模式区别:
xinetd模式21端口由xinetd进程监听。
standalone模式21端口由FTP进程监听。

xinetd模式设置方法:
在/etc/xinetd.d/vsftpd中

disable = no 
socket_type = stream 
wait = no # 这表示设备是激活的,它正在使用标准的TCP Sockets 

如果“/etc/vsftpd/vsftpd.conf”中的有选项为“listen=YES”,注销它 最后,重启xinetd,命令如下:/etc/rc.d/init.d/xinetd restart,来代理vsftp服务

standalone模式设置方法
在/etc/xinetd.d/vsftpd中
disable = yes
修改/etc/vsftpd/vsftpd.conf中
Listen=YES
重启VSFTP服务 service vsftpd restart

VSFTP服务配置详解

FTP用户与权限:

Linux系统下FTP用户管理:
FTP根据/etc/passwd和/etc/group来进行管理的。
同样FTP对权限的管理也遵循Linux系统中权限的设置。

FTP匿名用户:

匿名用户的作用:
不需要验证用户名和密码也能够登入并浏览数据。

开启FTP匿名用户:
VSFTP主配置文件中修改

anonymous_enable=YES

VSFTP服务的配置文件:

/etc/vsftpd/vsftpd.conf             主配置文件
/etc/vsftpd.conf                    (旧版本的VSFTP主配置文件)

/usr/sbin/vsftpd                    主程序

/etc/vsftpd/ftpusers                FTP用户黑名单
/etc/ftpusers                       (旧版本的FTP用户黑名单)

/etc/vsftpd/user_list               控制用户登录
/var/ftp                            匿名用户    主目录

VSFTP主配置文件解析:

anonymous_enable=YES                是否使用匿名用户
anon_upload_enable=YES              是否允许匿名用户上传
anon_mkdir_write_enable=YES         是否允许匿名用户创建目录
local_enable=YES                    是否允许本地用户
write_enable=YES                    是否允许本地用户具有写权限
local_umask=022                     本地用户掩码
chroot_list_enable=YES              锁定用户在自己的家目录
chroot_list_file=PATH               此文件中的用户将启用chroot
listen=YES                          独立模式
userlist_enable=YES/NO              用户访问控制
userlist_deny=YES/NO
tcp_wrappers=YES                    是否启用TCPWrappers管理服务

关于/etc/vsftpd/目录下的user_list和ftpusers两个文件:
ftpusers文件中的用户在任何情况下都不能登录FTP服务。

userlist_enable=NO时,user_list文件不生效。

userlist_enable=YES,userlist_deny=YES时:
user_list文件中的用户不能登录FTP,列表外的用户可以登录。

Userlist_enable=YES,userlist_deny=NO时:
user_list文件中的用户可以登录FTP,列表外的用户不可以登录。

学习完成以上内容后,实现的效果:
我目前使用的系统是ubuntu 12.04。
1.安装VSFTP服务:
这里写图片描述

2.修改VSFTP服务的主配置文件:
这里写图片描述

VSFTP服务--Linux学习笔记_第3张图片
3.访问刚才部署的服务器中的内容:

重启服务器中的vsftpd服务
这里写图片描述

在客户端连接服务端主机并下载文件:
一、通过cmd命令提示符查看服务器中的内容:
VSFTP服务--Linux学习笔记_第4张图片

下载的文件(存放在:windows中ftp服务下载的默认存放路径中):
VSFTP服务--Linux学习笔记_第5张图片

二、还可以通过浏览器访问查看服务器中的内容:
VSFTP服务--Linux学习笔记_第6张图片

你可能感兴趣的:(ubuntu)