linux服务之FTP服务配置教程

发布时间:2019-10-30编辑:脚本学堂
本文介绍了linux下ftp服务的配置方法,有关ftp工作原理、ftp软件安装与配置的教程,有需要的朋友参考下。

linux下配置ftp服务,脚本小编喜欢用proftpdvsftpd,相比较而言,更喜欢proftpd,原因在于它的用户权限控制规则更易操作。

当然了,vsftpd也是公认的安全又好用的linux ftp软件,接下来脚本小编就为大家介绍vsftpd软件的安装与配置,一起来看看吧。

一:FTP工作原理:
a:主动模式
1: 客户端向服务端发起控制连接 端口号为21。并发送一个自己随机生成的传输端口给服务器
2:服务器收到传输端口号,与客户端建立数据传输连接,数据传送完成后断开连接。

b:被动模式
1:客户端与服务端的控制连接建立联系,并请求被动连接。
2: 服务端接受到客户端的被动请求,随机生成一个数据传输端口,发送给客户端。
3:客户端使用服务端发送的端口,来跟服务器进行数据传输。
在实际的过程中,绝大多数都是使用被动模式,因为如果客户端随机生成的端口发给服务端,服务主动连接客户端,会被客户端的防火墙阻挡! 所以一般使用被动模式

二:FTP的配置:
1:首先安装服务器 vsftpd包。
2:客户端使用命令wget lftp ftp 来进行连接。
a.  wget用法
下载文件:

复制代码 代码示例:
wget -user=hello -password=123 ftp://172.16.28.19/file
 

下载文件夹:

复制代码 代码示例:
wget -r ftp://172.16.28.19/soft/dir -nH --cut-dir=1 -P /etc

-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 启用用户控制列表文件。
 

userlist_deny=yes 表示禁止/etc/vsftpd/user_list中的所有用户使用ftp。
userlist_deny=no 表示允许/etc/vsftpd/user_list中的所有用户使用ftp.
/etc/vsftpd/ftpusers文件中的用户优先user_list配置,所有ftpusers的都允许使用ftp.

4:创建虚拟用户
a.创建一个虚拟用户映射的本地账户
 

复制代码 代码示例:
useradd -d home_dir -s /sbin/nologin user

b.创建虚拟账户的用户名和密码,建立一个文件 vi /etc/vsftp/vname
在vname中加入用户名和密码,格式:一行用户名,一行密码。
c,生成数据库文件 db_load -T -t hash -f ./vname vname.db
d. 建立PAM认证文件,vi /etc/pam.d/vname.vu 
在文件中添加两行 

auth required pam_userdb.so db=/etc/vsftpd/vname 
account required pam_userdb.so db=/etc/vsftpd/vname

e. 在/etc/vsftpd/vsftpd.conf中启用配置,添加字段:
 

复制代码 代码示例:
guest_enable=YES
local_enable=YES
pam_service_name=vsftpd.vu