linux中ftp的配置管理

linux中ftp的配置管理,第1张

vsftpd是UNIX类 *** 作系统上运行的服务器名称,它的名字代表“very secure FTP daemon”,安全性是其设计与开发的一个重要目标。它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:

 非常高的安全性需求

 带宽限制

 良好的可伸缩性

 创建虚拟用户的可能性

 分配虚拟IP地址的可能性

一、vsftpd的启动

#service vsftpd start

如果允许用户匿名访问,需创建用户ftp和目录/var/ftp

# mkdir /var/ftp

# useradd –d /var/ftp ftp

二、vsftpd的配置

Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置:

1. 连接选项

☆监听地址和控制端口

(1) listen_address=ip address

定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。

(2) listen_port=port_value

指定FTP服务器监听的端口号。默认值为21。

2. 性能与负载控制

☆超时选项

(1) idle_session_timeout=

空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s

(2) accept_timeout=numerical value

接受建立联机的超时设定。默认值为60s

☆负载选项

(1) max_clients= numerical value

定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。

(2) max_per_ip= numerical value

定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。

(3) anon_max_rate=value

设定匿名用户的最大数据传输速度,以B/s为单位。默认无。

(4) local_max_rate=value

设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。

3. 用户选项

vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)

☆ 匿名用户

(1) anonymous_enable=YES|NO

控制是否允许匿名用户登录

(2) ftp_username=

匿名用户使用的系统用户名。默认情况下,值为ftp

(3) no_anon_password= YES|NO

控制匿名用户登录时是否需要密码。

(4) anon_root=

设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/

(5) anon_world_readable_only= YES|NO

控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。

(6) anon_upload_enable= YES|NO

控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。

(7) anon_mkdir_wirte_enable= YES|NO

控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。

(8) anon_other_write_enbale= YES|NO

控制匿名用户是否拥有除了上传和新建目录之外的其他权限。如删除、更名等。

(9) chown_uploads= YES|NO

是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。

(10) chown_username=whoever

指定拥有匿名用户上传文件所有权的用户。

☆本地用户

(1) local_enable= YES|NO

控制vsftpd所在的系统的用户是否可以登录vsftpd。

(2) local_root=

定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。

☆虚拟用户

(1) guest_enable= YES|NO

启动此功能将所有匿名登入者都视为guest

(2) guest_username=

定义vsftpd的guest用户在系统中的用户名。

4. 安全措施

☆用户登录控制

(1) /etc/vsftpd.ftpusers

Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。

(2) userlist_enable= YES|NO

此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。

(3) userlist_file=/etc/vsftpd.user_list

指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list

(4) userlist_deny= YES|NO

决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。

☆目录访问控制

(1) chroot_list_enable= YES|NO

锁定某些用户在自己的目录中,而不可以转到系统的其他目录。

(2) chroot_list_file=/etc/vsftpd/chroot_list

指定被锁定在主目录的用户的列表文件。

(3) chroot_local_users= YES|NO

将本地用户锁定在主目中。

三、vsftpd服务器的配置实例:

基于IP的虚拟FTP服务器配置

假设服务器有两个IP地址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。现在在192.168.1.200上再提供一个虚拟FTP服务器。

☆创建虚拟FTP服务器根目录

# mkdir –p /var/ftp2/pub

确保/var/ftp2和/var/ftp2/pub目录的所有者和组均为root,掩码为755

# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub

# chown –R root /var/ftp2# chown –R : root /var/ftp2

☆ 增加虚拟FTP服务器的匿名用户帐号ftp2

# useradd –d /var/ftp2 –M ftp2

☆ 创建虚拟FTP服务器的配置文件

复制原来的vsftpd.conf作为虚拟FTP服务器的配置文件,并修改相关参数

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf

# vi /etc/vsftpd/vsftpd2.conf

添加或修改参数:

Listen=YES

Listen_address=192.168.1.200

ftp_username=ftp2

anon_root=/var/ftp2

并可参考vsftpd的配置部分的说明做其他配置,如:

•允许匿名用户上传文件

Write_enable=YES

Anon_world_readable_only=NO

Anon_upload_enable=YES

Anon_mkdir_write_enable=YES

创建匿名用户上传文件的目录,并设置权限:

# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming

•取消写权限

Write_enable=NO

Anon_upload_enable=NO

Anon_mkdir_write_enable=NO

Anon_other_write_enable=NO

•限制下载速度为80KB/s

Anon_max_rate=8000

•控制并发数,以及每个IP地址的并发数

Max_clients=100

Max_per_ip=3

☆启动虚拟FTP服务器

# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &

1,功能:开通ftp用户上传或下载文件的功能,允许匿名登录。

2,检测是否已经安装: rpm -qa | grep vsftpd

3, 安装:yum -y install vsftpd

4, 命令:

 service vsftpd start

 service vsftpd stop

 service vsftpd restart

5, 配置:直接贴出我的配置文件/etc/vsftpd/vsftpd.conf

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anonymous_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

其实第3步安装完vsftpd之后,会生成一个默认的配置文件,我们要打开匿名登录只需要打开以下几项

anonymous_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

也就是把他们前面的#去掉。

chmod -R 777 /var/ftp

chown root:root /var/ftp

chown root:ftp /var/ftp/pub

之后我们就可以用anonymous 登录ftp服务器,并可以在pub目录下上载或者下载了。

奥,最后还要注意防火墙问题。

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

linux下配置FTP的话,还看系统的,不同的版本配置不同,可以baidu,google一下.应该有很多资料推荐个网址:www.chinaunix.com


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8895542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存