redhat上的ftp配置实例

redhat 上的 ftp 配置实例
环境 :redhat9
ftp 的工作方式分为两种
主动 (active): 当客户端的连接上 server 的控制端口 (21) , 当需要传输数据时 , server 主动开启端口(20)连接 client
被动 ( passive): 控制端口的连接方式与上面一样 , 只不过当要传数据时 , 仍是由 client 发起连接
redhat 上采用的软件是 vsftpd, 对它进行配置 .
 
vsftpd 的文档结构
其主配置文件只有一个 :/etc/vsftpd/vsftpd.conf , 所做的修改主要是围绕它进行 , 此外还有一些附加的文件 , 我将几个重要的说明如下 :
/etc/pam.d/vsftpd
这里定义了采用 pam 的方式进行身份验证 , 它是根据 /etc/vsftpd.ftpusers 文件进行验证的 , 凡是在这个文件里面列出的用户无法登陆 ftp
/etc/vsftpd.user_list
当配置文件 vsftd.conf 中的参数 userlist_enable userlist_deny 设置为 YES 之后 , 此文件生效 , 凡是在此文件里面列出的用户就无法登陆 ftp
: 上面的两个文件看起来功能雷同 , 其实不然 ,vsftpd.ftpusers 是采用外挂的 PAM 程序进行验证时所需要的 , vsftd.user_list 则是 vsftp 本身的验证机制 . 也就是双重验证 , 无疑时更加安全 . 既然作用一样 , 所以这两个文件的内容也最好写的一样
/etc/vsftpd.chroot_list
此文件要自行建立 , vsftpd.conf 中的参数 chroot_list_enable chroot_list_file 启用后 , 此文件里面的用户就登陆 ftp 以后就只能在自己的主目录下活动 , 不能到处逛 .
/var/ftp
匿名用户登陆后的主目录
 
首先查询是否安装 vsftp
[root@localhost root]# rpm -qa|grep vsftpd
vsftpd-1.1.3-8
 
现在就可以直接启动 vsftp
启动
[root@localhost root]# /etc/rc.d/init.d/vsftpd start
Starting vsftpd for vsftpd: [  OK  ]
 
测试
[root@localhost root]# ftp localhost // 登陆
Connected to localhost (127.0.0.1).
220 (vsFTPd 1.1.3)
Name (localhost:root):
530 Permission denied.
Login failed.
ftp> bye // 使用 bye 退出
221 Goodbye.
 
所以不用修改 vsftpd 里面的内容 , 就可以直接运行了 . 不过此时的效果是 :
  • 匿名帐号anonymous可以登陆,主目录为/var/ftp,并且被锁定在此目录下.此账户只有下载权限
  • 系统的帐号(/etc/passwd文件中的帐号)可以登陆,并且没有锁定主目录
  • 任何在/etc/vsftpd.ftpusers文件中的帐号是无法登陆的
  • 上传和下载的日志信息保存在/var/log/vsftpd.log
所以一般这样就够我们用了 , 只是要注意把那些不允许登陆的帐号写到上面提到的两个文件中 vsftpd.ftpusers vsftd.user_list
 
不允许匿名登陆
anonymous_enable=NO 
   
本地帐号下载的速度限制(单位B/S),10KB/S        
local_max_rate=100000
 
最大的并发连接数(同时连接的客户端数量),这里设置为10
max_clients=10
 
每个IP最多多少个连接,这里设置为1
max_per_ip=1
 
我一直没找到如何限制总带宽 , 也就是说不限客户端数目 , 总带宽给他们平均分 , 同时连的人多每人得的带宽就少 , 连的人少每人得的带宽就多 . 还希望哪个能给小弟指点一下 .
不过我也想到这样 , 反正是限定了客户端的数量和每个客户端的下载速度 , 两者相乘就是服务器给它的最大带宽 , 虽然不灵活 , 但是也是变相的起到了限制总流量的作用了 .
我想一般 ftp 服务器也就用到这么多功能 , 最后必须要提到的是你要帐户能写 , 那个目录就要给账户开写的权限哦 .
以上内容保证原创,并且亲自测试通过grep 21
    
 

你可能感兴趣的:(redhat,vsftp,ftp,vsftpd,休闲)