1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Rhel6服务器ftp服务配置

Rhel6服务器ftp服务配置

时间:2024-03-07 14:06:01

相关推荐

Rhel6服务器ftp服务配置

FTP

file transferprotocol

成本低,跨平台,跨公网

使用的端口号:

数据传输端口 20

命令传输端口 21

主动:默认情况下,ftp服务是开放了21端口,用来接受控制命令,服务器用20端口去发送数据(连接客户端大于1024的随机端口)

被动:ftp服务器开放21端口,用来接受命令控制,进行数据传输时,客户端会告知服务端打开一个大于1024的端口,然后客户端去主动连接服务

配置文件参数说明:

[root@rootbug ~]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# |grep -v^$

-- ^#代表以#开头的行,也就是注释; ^$代表空行

anonymous_enable=YES--允许匿名用户登录

local_enable=YES --允许本地用户登录

write_enable=YES --允许本地用户登录后可写

local_umask=022 --建立文件或者目录的权限掩码

dirmessage_enable=YES--启用目录的说明或者欢迎信息

xferlog_enable=YES --打开日志功能 (只记录文件的上传和下载信息)

connect_from_port_20=YES --默认支持主动模式(两个模式都是开启的,直接使用的话是使用的被动模式)

xferlog_std_format=YES --日志使用xferlog而不是vsftpd.log,改为NO的话,则相反

listen=YES --默认运行在standalone下

pam_service_name=vsftpd --支持pam(可植入模块)

userlist_enable=YES--打开用户列表的功能

tcp_wrappers=YES --支持tcp_wrappers

1、匿名登录ftp服务器

ftp服务器匿名登录的账号是ftp和anonymous,密码为空

配置文件anonymous_enable=yse是控制是否允许匿名登录ftp服务器

默认情况匿名用户登录到ftp服务器之后目录是在/var/ftp/中,具备下载但是不具备上传功能,并且/var/ftp/目录不能直接利用chmod757修改写权限,如果修改了会导致ftp无法登录,所以需要在/ftp/目录下再创建一个目录作为上传目录,同时修改配置文件允许匿名用户上传。

[root@rootbug ~]#chmod 777 /var/ftp/pub --把pub改为可写,用于上传

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES

anon_upload_enable=YES--允许匿名用户上传文件

anon_mkdir_write_enable=YES--允许匿名用户创建目录

2、普通账号登录ftp服务器

普通用户默认是允许登录ftp的,并且是登录到自己的家目录,登录密码也就是普通用户登录系统的密码。

如果想禁用全部普通账号登录ftp服务器,可以直接在配置文件中修改即可。

local_enable=NO----禁用全部的普通账号登录ftp服务器

如果想控制部分普通用户登录ftp服务器,部分普通账号无法登录ftp服务器,可以利用用户列表进行控制

黑名单,可以利用它进行控制账号无法登录ftp服务器

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

userlist_enable=yes --打开用户列表功能

userlist_deny=YES --这一句可加可不加,默认就是有这一句的

vim/etc/vsftpd/user_list --加上要禁止的用户,一个用户写一行

-------------

白名单,如果你黑名单太多添加麻烦,那么也可以直接利用白名单,控制哪些账号可以登录ftp服务器即可

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

userlist_enable=yes

userlist_deny=no

vim /etc/vsftpd/user_list --加上允许的用户,一个用户写一行

-----------上面的主要要注意的是:

userlist_enable 指定的是用户列表功能是否有效

userlit_deny 指定的是用户列表是允许还是拒绝

3、配置匿名账号登录目录是在/var/ftp/下,普通账号默认登录目录在/ftp。

由于ftp的家目录默认在/var/ftp/下,所以匿名账号登录之后就是/var/ftp/,不需要配置。但是普通账号登录之后是在各自账号的家目录下,那该如何配置才能使目录默认为/ftp呢?

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

在里面添加一行即可。

local_root=/ftp

4、chroot安全配置。

除了匿名账号登录ftp服务器之外,其他所有的账号登录ftp服务器之后都可以cd到整个系统的目录,并且可以下载系统的各个重要文件,这样就导致出现了安全漏洞。那么该如何配置才能杜绝这种不安全性?这就需要配置chroot,配置chroot有两种情况。

(1)将所有的用户都控制在ftp目录下

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES

开启了此功能之后,所有的用户登录ftp服务器之后将会控制在ftp目录下,无法cd切换到其他目录,保证了系统的安全性。

(2)配置控制部分用户在ftp目录下,但是剩下其他用户不受控制。

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vim/etc/vsftpd/chroot_list --手动创建这个文件,默认不存在,并写上要加入笼环境的用户名,一行写一个

[root@rootbug ~]# /etc/init.d/vsftpdreload ----刷新服务

5、ftp的日志

ftp服务器的日志有两种存放方式

xferlog方式

[root@rootbug ~]# vim /etc/vsftpd/vsftpd.conf

xferlog_enable=YES --打开日志记录功能

xferlog_std_format=YES--使用xferlog,而不是vsftpd.log

xferlog_file=/var/log/xferlog --打开注释,指定日志文件路径,也可以不用管,因为默认值就是这个,但是xferlog方式的日志只记录上传和下载

[root@rootbug ~]#cat/var/log/xferlog --只记录上传和下载的日志

Tue Sep 3 22:12:25 CST 1 10.1.1.185 660/etc/fstab b _ o r a ftp 0 * c

Tue Sep 3 22:12:25 CST 1 10.1.1.185 0 /rootb _ o r a ftp 0 * i

Tue Sep 3 22:12:12 CST 1 10.1.1.132 2322/etc/passwd b _ o r a ftp 0 * c

Tue Sep 3 22:11:37 CST 1 10.1.1.132 660/etc/fstab b _ o r a ftp 0 * c

Tue Sep 3 22:11:37 CST 1 10.1.1.132 0/etc/fstab b _ i r a ftp 0 * i

Tue Sep 3 22:11:37 CST 1 10.1.1.86 0/etc/passwd b _ i r a ftp 0 * i

vsftpd.log方式

[root@rootbug ~]#vim /etc/vsftpd/vsftpd.conf

xferlog_enable=YES --打开日志记录功能

xferlog_std_format=NO --此参数为NO,表示只有vsftpd.log产生

[root@rootbug ~]#/etc/init.d/vsftpd reload

6、限速

[root@rootbug ~]#vim /etc/vsftpd/vsftpd.conf

在配置文件添加下面的关键字

anon_max_rate --匿名用户下载传输率

local_max_rate --本地用户下载传输率

比如

local_max_rate=10000 --普通账号下载传输率为10k

[root@rootbug ~]#/etc/init.d/vsftpd reload

7、关于限制链接数

在配置文件添加下面的关键字

[root@rootbug ~]#vim /etc/vsftpd/vsftpd.conf

max_clients --ftp服务允许的总的连接数

max_per_ip --单个客户端的最大连接数

比如

max_per_ip=2 --指定单个客户端的最大连接数为2

[root@rootbug ~]#/etc/init.d/vsftpd reload

8、控制某IP允许登录ftp服务器,其他IP无法登录ftp服务器。

只要由下面两个文件控制

/etc/hosts.allow

/etc/hosts.deny

访问控制机制为先去匹配/etc/hosts.allow,再去匹配/etc/hosts.deny,如果都没有,则都允许

[root@rootbug ~]#vim /etc/hosts.deny

vsftpd: all --拒绝所有

vsftpd: all EXCEPT 10.10.10.104 --只允许104ftp上来

vsftpd: all EXCEPT 10.10.10.104 10.10.10.105

vsftpd: 10.10.10.0/255.255.255.0 EXCEPT 10.10.10.104 --拒绝10.10.10.0网段的人ftp访问,除了104外;注意子网掩码不支持/24写法

vsftpd:all:spawn echo "`date`" %c %d >>/var/log/tcpwrapperdeny.log

--拒绝所有人登录,并把拒绝的时间和IP等信息保存到日志文件

vsftp:all:spawn wall %c "login denied"

--拒绝所有人登录,只要一登录被拒绝,就发送广播信息

例题:

搭建ftp服务器,

(1)允许本地用户登录,但只允许a,b,c三个用户登录,所有的普通用户都默认登录到/ftp目录下;

(2)也允许匿名用户登录,登录到/var/ftp;

(3)匿名用户可以下载,不能上传

(4) a,b,c用户都只能上传和下载自己的文件;不同用户之间不能互相删除文件

(5)只使用vsftp形式的日志记录,并且实现日志轮转(每月轮转一次,最多保留两个副本)

(6) 只使用主动模式的ftp连接方式

(7) 三个用户只能在/ftp目录下活动

(8) 允许匿名用户和普通用户下载的最大传输率都为100kb/s

(9)允许ftp服务器最大的总连接为300

(10)一个客户端最大只能有3个连接

(11)只能在上午9:30到晚上的8:30访问ftp

(12)允许172.16.2.0/24网段登录,但拒绝172.16.2.35登录,并将拒绝的信息保存到/var/log/ftp_denyip.log

配置如下:

[root@rootbug ~]#vim /etc/vsftpd/vsftpd.conf

*****其他注释省略******

anonymous_enable=YES

userlist_enable=YES

userlist_deny=NO

local_root=/ftp

local_umask=026

xferlog_std_format=NO

pasv_enable=NO

chroot_local_user=yes

anon_max_rate=100000

local_max_rate=100000

max_clients=300

max_per_ip=3

Listen=NO

[root@rootbug ~]# vim /etc/vsftpd/user_list ----------配置允许用户登录列表

a

b

c

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。