在linux下配置ftp服务,脚本小编喜欢用proftpd与vsftpd,相比较而言,更喜欢proftpd,原因在于它的用户权限控制规则更易操作。
当然了,vsftpd也是公认的安全又好用的linux ftp软件,接下来脚本小编就为大家介绍vsftpd软件的安装与配置,一起来看看吧。
一:FTP工作原理:
a:主动模式
1: 客户端向服务端发起控制连接 端口号为21。并发送一个自己随机生成的传输端口给服务器
2:服务器收到传输端口号,与客户端建立数据传输连接,数据传送完成后断开连接。
b:被动模式
1:客户端与服务端的控制连接建立联系,并请求被动连接。
2: 服务端接受到客户端的被动请求,随机生成一个数据传输端口,发送给客户端。
3:客户端使用服务端发送的端口,来跟服务器进行数据传输。
在实际的过程中,绝大多数都是使用被动模式,因为如果客户端随机生成的端口发给服务端,服务主动连接客户端,会被客户端的防火墙阻挡! 所以一般使用被动模式
二:FTP的配置:
1:首先安装服务器 vsftpd包。
2:客户端使用命令wget lftp ftp 来进行连接。
a. wget用法
下载文件:
下载文件夹:
-r表示rescure递归文件,-nH选项表示去除上层目录,--cut-dir表示在根目录上再去除多个目录。-P表示目录重定向
b. lftp 172.16.17.25
下载文件 get 下载文件夹 mirror 上传文件put 上传文件夹 put -r ./dir
c. ftp 172.16.25.42
!ls 命令查看本机的目录,lcd 切换本机的当前目录,
三:服务器端配置
1:用户分为匿名用户,本地用户,虚拟用户
匿名用户的ftp共享目录为 /var/ftp 不需要输入密码。不能切换根目录。
anon_root=/var/dir 设置共享目录的路径。
2:本地用户的上传目录为默认为用户的家目录。可以切换根。可以通过增加字段user_config_dir=/etc/vsftpd/usersdir 来分别对用户进行局部配置。创建的文件名和用户名相同
3:通过增加userlist_enable=yes 启用用户控制列表文件。
4:创建虚拟用户
a.创建一个虚拟用户映射的本地账户
b.创建虚拟账户的用户名和密码,建立一个文件 vi /etc/vsftp/vname
在vname中加入用户名和密码,格式:一行用户名,一行密码。
c,生成数据库文件 db_load -T -t hash -f ./vname vname.db
d. 建立PAM认证文件,vi /etc/pam.d/vname.vu
在文件中添加两行
e. 在/etc/vsftpd/vsftpd.conf中启用配置,添加字段: