首页 > 代码库 > linux配置ftp

linux配置ftp

本章重点:

1.FTP的连接方式:

FTP默认使用20号端口建立数据连接,并传输文件协议;使用21号端口进行建立控制连接,并传输FTP控制命令;

主动模式:服务器主动发起数据连接;

被动连接:服务器被动等待数据连接;

注意:无论主动或被动都是先由客户端向服务器的21号端口建立ftp控制连接;详细内容参考课本p51-52

2.ftp 服务器软件的种类:windows系统中:IISServ-U;

Linux系统中:proftpdpureftpdvsftpd可支持15000个用户并发连接还有一些ftp客户端工具

;这个不做重点,简单了解一下

3.ftp的配置文件:

(1)用户列表文件ftpusersuser_list

Ftpusers相当于黑名单,此文件中列出的用户将禁止被登录,默认已包括:rootbindaemon等用于登录系统的特殊用户

User_list文件:此文件中包含的用户可能被禁止登陆,也可能被允许登陆,主要取决于主配置文件vsftpd.conf的设置,当存在userlist_enable=YES userlist列表文件方可生效,若指定userlist_deny=YES 时,则尽禁止此列表中的用户登陆;若指定userlist_deny=NO 时,则允许列表中的用户登陆

(2.ftp的主配置文件:vsftpd.conf(具体的配置在后面详解,可以参考课本p56

3.安装ftp服务,也是基于RedHat的系统光盘里的包装一个vsftpd的软件包,也可用yum装包

4.基于匿名用户的ftp

将服务安装好后,修改主配置文件/etc/vsftpd/vsftpd.conf 中的anonymous_enable=YES(允许匿名访问)

执行 service  vsftpd  start 将服务启动即可

注意下面几个关于权限的配置项

Write_enable=YES   开放服务器的写权限

Anon_umask=022  设置匿名用户上传数据的权限设置

Anon_upload_enable=YES 允许匿名用户上传文件

Anon_mkdir_write_enable=YES  允许匿名用户创建目录

5.需用户验证的FTP服务

anonymous_enable=YES改正为NO

可根据具体的需要将上述提到的几个权限设置更改一下,例如:为提高上传的文件权限,可将权限设为077(仅属主用户拥有权限):local_umask=077

由于是用户验证的FTP,所以可以用到前面提到的user_list用户列表文件,当配置了user_list,它位于/etc/vsftpd/user_list,一定记得要在这配置文件中将它启用(userlist_enable=YES

6.vsftpd服务的其他配置:

(1)修改vsftpd服务的监听地址,端口、

(2)允许使用FTP服务器的被动模式

(3)限制FTP连接的并发数,传输速度

在这里就不做详解了,可参考课本p61

7.基于虚拟用户的账号数据库

Vsftpd服务使用Berkeley DB 格式的数据库文件来存放虚拟用户账户,所以要装一个db4_utils 的软件包,也是在RedHat的系统光盘里安装

Rpm -vih /media/cdrom/Server/db4_utils-4.3........

(1)创建文本格式的用户名和密码

Vi  /etc/vsftpd/vusers.list

Zhangsan

123.Asd

Lisi

456.Asd

注:一个用户名对应一个密码

(2.)创建Berkeley DB 格式的数据库文件

cd  /etc/vsftpd

db_load  -T  -t  hash  -f   vusers.list  vusers.db

file   vusers.db    查看转换后的文件类型

注:db_load命令中,-t 是用于指定数据源文件,-T 允许非Berkeley  DB 的应用程序使用从文本格式转换的DB数据文件,-t hash ,是指定一个hash 算法

(3)为提高虚拟用户账号文件的安全性,应将文件权限设为600,以免数据外泄

Chmod  600 /etc/vsftpd/vusers.*

(4) 添加虚拟用户的映射账号,创建FTP根目录

Useradd  -d /var/ftproot  -s  /sbin/nologin  virual(将使用的FTP根目录设为/var/ftproot/, 映射账号的名称为virtual)

(5)为虚拟用户建立PAM认证文件

Vi  /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth  required  pam_userdb.so db=/etc/vsftpd/vuser

account  同上

(6)修改vsftpd配置,添加虚拟用户支持,在这配置文件中添加下列配置即可:

guest_enable=YES 启用映射功能

guest_username=virtual 指定映射的系统用户名称

pam_service_name-vsftpd.vu 制定新的PAM认证文件

(7)为不同的虚拟用户建立独立的配置文件,需要在主配置文件中添加user_config_dir 的配置项:

user_config_dir=/etc/vsftpd/vusers_conf

有了上述配置后,就可以在/etc/vsftpd/vusers_dir目录中为每个虚拟用户分别建立独立的配置文件了

mkdir  /etc/vsftpd/vusers_dir  创建用户配置文件

cd   /etc/vsftpd/vusers_dir 

vi  join          为用户join建立独立的配置文件

anon_upload_enable=YES

anon_mkdir_write_enable=YES

 最后一步,重新加载或重启服务即可

注意:本文中的所有第一个配置单词都为小写


linux配置ftp