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本身的验证机制.也就是双重验证,无疑时更加安全.既然作用一样,所以这两个文件的内容也最好写的一样 这里可以用#将root 注释掉就可以使用root登陆了。 /etc/vsftpd.ftpusers 这里可以用#将root 注释掉就可以使用root登陆了。 /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里面的内容,就可以直接运行了.不过此时的效果是:
所以一般这样就够我们用了,只是要注意把那些不允许登陆的帐号写到上面提到的两个文件中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
|