如何用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/userconfStep2. 新增一个目录:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconfStep3. 在/etc/vsftpd/userconf 之下新增一个名为test1 的档案
内容增加一行:
local_max_rate=250000Step4. 在/etc/vsftpd/userconf 之下新增一个名为test2 的档案
内容增加一行:
local_max_rate=500000Step5. 重新启动vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
爱电脑 就爱www.zzzyk.com 电脑知识网