分享
 
 
 

超完整RedHat9.0-vsftp配置大全

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

3.2 VSFTP 安全与效能兼备的ftp 服务器

3.2.1 VSFTP 概述

FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入 第二,就是vsftp 从XINETD 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。

为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINETD 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录。

FTP 分为两类,一种为PORT FTP,也就是一般的FTP 另一类是PASVFTP,分述如下:

PORT FTP

这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port 20 作数据的传输。

PASV FTP

跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。

这两者的差异为何?PORT FTP 当中的数据传输port 是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。

3.2.2 范例

3.2.1. 直接启动VSFTP 服务

这个范例是套用RedHat 的预设范例,直接启动vsftp。

[root@relay vsftpd]# /sbin/service vsftpd start

Starting vsftpd for vsftpd: OK ]

3.2.2. 更换port 提供服务:将预设的port 21 更换为2121

为了安全,或是以port 来区隔不同的ftp 服务,我们可能会将ftp port 改为21 之外的port,那么,可参考以下步骤。

Step1. 修改/etc/vsftpd/vsftpd.conf

新增底下一行

listen_port=2121

Step2. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

3.2.3. 特定使用者peter、john 不得变更目录

使用者的预设目录为/home/username,若是我们不希望使用者在ftp 时能够

切换到上一层目录/home,则可参考以下步骤。

Step1. 修改/etc/vsftpd/vsftpd.conf

将底下三行

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

改为

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

Step2. 新增一个档案: /etc/vsftpd/chroot_list

内容增加两行:

peter

john

Step3. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

若是peter 欲切换到根目录以外的目录,则会出现以下警告:

ftp> cd /home

550 Failed to change directory.

3.2.4. 取消anonymous 登入

若是读者的主机不希望使用者匿名登入,则可参考以下步骤。

Step1. 修改/etc/vsftpd/vsftpd.conf

anonymous_enable=YES

改为

anonymous_enable=NO

Step2. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

3.2.5. 安排欢迎话语

若是我们希望使用者在登入时,能够看到欢迎话语,可能包括对该主机的说明,或是目录的介绍,可参考以下步骤。

首先确定在/etc/vsftpd/vsftpd.conf 当中是否有底下这一行

dirmessage_enable=YES

RedHat9 的默认值是有上面这行的。

接着,在各目录之中,新增名为.message 的档案,再这边假设有一个使用者test1,且此使用者的根目录下有个目录名为abc,那首先我们在/home/test1

之下新增.message,内容如下:

Hello~ Welcome to the home directory

This is for test only...

接着,在/home/test1/abc 的目录下新增.message,内容如下:

Welcome to abc's directory

This is subdir...

那么,当使用者test1 登入时,会看到以下讯息:

230- Hello~ Welcome to the home directory

230-

230- This is for test only...

230-

若是切换到abc 的目录,则会出现以下讯息:

250- Welcome to abc's directory

250-

250- This is subdir ...

3.2.6. 对于每一个联机,以独立的process 来运作

一般启动vsftp 时,我们只会看到一个名为vsftpd 的process 在运作,但若是读者希望每一个联机,都能以独立的process 来呈现,则可执行以下步骤。

Step1. 修改/etc/vsftpd/vsftpd.conf

新增底下一行

setproctitle_enable=YES

Step2. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

使用ps -ef 的指令,可以看告不同使用者联机的情形,如下图所示:

[root@home vsftpd]# ps -ef|grep ftp

root 2090 1 0 16:41 pts/0 00:00:00 vsftpd: LISTENER

nobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244:

connected

test1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244/test1:

IDLE

nobody 2124 2090 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244:

connected

test2 2126 2124 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244/test2:

IDLE

root 2129 1343 0 17:20 pts/0 00:00:00 grep ftp

[root@home vsftpd]#

3.2.7. 限制传输档案的速度:

本机的使用者最高速度为200KBytes/s,匿名登入者所能使用的最高速度为50KBytes/s

Step1. 修改/etc/vsftpd/vsftpd.conf

新增底下两行

anon_max_rate=50000

local_max_rate=200000

Step2. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

在这边速度的单位为Bytes/s,其中anon_max_rate 所限制的是匿名登入的

使用者,而local_max_rate 所限制的是本机的使用者。VSFTPD 对于速度的限

制,范围大概在80%到120%之间,也就是我们限制最高速度为100KBytes/s,

但实际的速度可能在80KBytes/s 到120KBytes/s 之间,当然,若是频宽不足

时,数值会低于此限制。

3.2.8. 针对不同的使用者限制不同的速度:

假设test1 所能使用的最高速度为250KBytes/s,test2 所能使用的最高速度为500KBytes/s。

Step1. 修改/etc/vsftpd/vsftpd.conf

新增底下一行

user_config_dir=/etc/vsftpd/userconf

Step2. 新增一个目录:/etc/vsftpd/userconf

mkdir /etc/vsftpd/userconf

Step3. 在/etc/vsftpd/userconf 之下新增一个名为test1 的档案

内容增加一行:

local_max_rate=250000

Step4. 在/etc/vsftpd/userconf 之下新增一个名为test2 的档案

内容增加一行:

local_max_rate=500000

Step5. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

3.2.9-1. 建置一个防火墙下的ftp server,使用PORT FTP mode:

预设的ftp port:21 以及ftp data port:20

启动VSFTPD 之后执行以下两行指令,只允许port 21 以及port 20 开放,其它关闭。

iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT

iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

3.2.9-2. 建置一个防火墙下的ftp server,使用PORT FTP mode:

ftp port:2121 以及ftp data port:2020

Step1. 执行以下两行指令,只允许port 2121 以及port 2020 开放,其它关闭。

iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT

iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

Step2. 修改/etc/vsftpd/vsftpd.conf

新增底下两行

listen_port=2121

ftp_data_port=2020

Step3. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

在这边要注意,8、9 两个例子中,ftp client(如cuteftp)的联机方式不能够选择passive mode,否则无法建立数据的联机。也就是读者可以连上ftp

server,但是执行ls、get 等等的指令时,便无法运作。

3.2.10. 建置一个防火墙下的ftp server,使用PASS FTP mode:

ftp port:2121 以及ftp data port 从9981 到9986。

Step1. 执行以下两行指令,只允许port 2121 以及port 9981-9990 开放,其它关闭。

iptables -A INPUT -p tcp -m multiport --dport

2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j ACCEPT

iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset

Step2. 修改/etc/vsftpd/vsftpd.conf

新增底下四行

listen_port=2121

pasv_enable=YES

pasv_min_port=9981

pasv_max_port=9986

Step3. 重新启动vsftpd

[root@home vsftpd]# /sbin/service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpd for vsftpd: OK ]

在这边要注意,在10 这个例子中,ftp clien

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有