首页 > 代码库 > RHEL6服务器ftp服务配置
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 ----刷新服务
- 本文来自:爱好Linux技术网
- 本文链接:http://www.ahlinux.com/redhat/8521.html
RHEL6服务器ftp服务配置