当前位置:操作系统 > Unix/Linux >>

如何用Linux系统架设FTP的方法

可以安装其自带的VSFTP服务器,挺好用的,具体配置如下:

一、基础

1.配置文件在/etc/vsftpd/vsftpd.conf

/etc/vsftpd.ftpusers
/etc/vsftpd.user_list

2.后台进程:vsftpd

3.使用21。20端口
  21用于控制,20用于数据传输

4.日志:
/var/log/vsftpd.log   xferlog
只记录传输数据信息

5.ftpcount   ftpwho工具,作用不大。

二、配置参数

1.是否允许匿名登陆

# Allow anonymous FTP?
anonymous_enable=no

2.登陆超时控制

# You may change the default value for timing out an idle session.
idle_session_timeout=600

3.数据传输超时控制

# You may change the default value for timing out a data connection.
#data_connection_timeout=120

4.定制欢迎信息

# You may fully customise the login banner string:
ftpd_banner=Welcome to youhongyu FTP service.

三、访问控制关键配置方法

1.修改vsftpd.conf中(****控制chroot****)

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list(如果无,需要创建)

/etc/vsftpd.chroot_list中的用户是 不 能chroot的用户,即这些用户只能在自己的(/home)目录下


2.控制访问用户文件

/etc/vsftpd.ftpusers

所有在该文件内的用户都是不能访问ftp,但是和下面要介绍的不同的是 在访问时,不报530 Permission denied.而是报530 Login incorrect.

3.控制访问用户文件(注意需要vsftpd.conf配置来配合)

/etc/vsftpd.user_list

记住:要使这个文件起作用必须配置 userlist_enable=yes否则不起作用(默认是打开的)

那么当userlist_enable=yes时,userlist_deny=yes(需要手动加) 则 /etc/vsftpd.user_list中的用户不可以访问ftp

当userlist_enable=yes时,userlist_deny=no(需要手动加) 则 只有/etc/vsftpd.user_list中的用户可以访问ftp

2、和3如果涉及到同一个用户 以or的原则来应用,只要有一个文件有 就deny

四、提高

1.改变端口

需要在配置文件里加一句
listen_port=2121  客户机器 如果是windows需要指定端口为"2121 "如果在linux下用ftp命令 需要修改/etc/services文件中的ftp端口号为2121

ftp             2121/tcp
ftp             2121/udp                fsp fspd

2.(使用hosts.allow限制)

若是读者希望直接在/etc/hosts.allow 之中定义允许或是拒绝的来源地址,可执行以下步骤。这是简易的防火墙设定。

Step1. 确定/etc/vsftpd/vsftpd.conf 之中tcp_wrappers 的设定为YES,tcp_wrappers=YES

这是RedHat9 的默认值,基本上不需修改。
 


Step2. 重新启动vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
Step3. 设定/etc/hosts.allow,譬如提供111.22.33.4 以及10.1.1.1 到10.1.1.254 连线,则可做下图之设定:
vsftpd : 111.22.33.4 10.1.1. : allow
ALL : ALL : DENY
/*****

自己实验情况,对域名做限制

hosts.allow
vsftpd:.cyy.net:allow
hosts.deny
vsftpd:ALL:deny
:报错为
Connected to cyy.net.
421 Service not available.
***/

3.(限速)  *****关注里面对不同用户的不同策略的写*********

限制传输档案的速度:本机的使用者最高速度为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 ]

爱电脑 就爱www.zzzyk.com 电脑知识网

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,