RHCE课程-RH253Linux服务器架设笔记一-VSFTPD的配置(1)

简介:
FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件
vsftpd 是一个基于GPL发布的FTP服务器软件。其中的vs是“ Very Secure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。
当然,vsftpd也是REDHAT默认安装的ftp服务器软件
后台进程: vsftpd 
类型: System V 服务 
使用端口: 20(ftp-data),21(ftp) 
所需RPM包: vsftpd 
配置文件 /etc/vsftpd/vsftpd.conf
FTP的主动模式和被动模式很重要
主动模式: 
client 先连接服务器的 21端口(命令端口),然后client开放一个大于1024的端口等待服务器的20端口连接,21号端口的链接建立以后,服务器就用20去连接client开放的端口,简单来说就是服务器主动连客户端啦
基于上面的连接方式,如果client端有个防火墙,服务器的20端口就连接不进入,导致会连接失败。
被动模式: 
就是client开启大于1024的X端口连接服务器的21(命令端口),同时开启X+1端口
当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用X+1来连接服务器的Y端口,简单的说就是client主动连接服务器
一般我们使用的是主动模式 
大家了解被动模式就可以了,当你架设FTP服务器,出现这样的情况,你应该想到可以使用被动模式来解决,当然防火墙一般也支持FTP的追踪模块,会自动识别自己发出的FTP数据请求。这样制动模式也能返回数据
下面我们先安装vsftpd吧
所有服务里面只有vsftpd 没有依耐关系,其他服务都要yum来安装或解决其依赖关系哈~
没有就安装下~
image
我们来说vsftpd的配置文件
大家切换到/etc/vsftpd目录 ,这个目录就是vsftpd的配置文件存放的目录
image
第一个文件 ftpusers是用户控制文件,在这个文件里面的用户,默认是不可以使用vsftpd服务的。
第二个文件 user_list默认功能和第一个一样,但是通过配置,我们可以让只有在第二个文件里的用户才能使用vsftpd服务,这样新加入的用户就不会自动拥有vsftp的使用权,这样可以让vsftpd服务器更加安全
最后一个脚本 vsftpd_conf_migrate.sh是vsftpd操作的一些变量和设置,这个不用管的
当然,主角就是  vsftpd.conf ,配置vsftpd,我们操作最多的也就是这个文件了
等会我们会介绍里面的内容 ,现在大家看看自己的 /etc/passwd文件,是不是多了一个ftp的用户?
[root@rhel5 vsftpd]# cat /etc/passwd |grep ftp
image
大家还知道他的执行shell的特点吧
/sbin/nologin shell
这个是虚拟用户使用的,不具有登陆系统的权限。他只能使用vsftpd这样的服务器登陆用
还有这个用户的家目录是哪个,大家能从passwd文件中看出来吗?
/var/ftp这个就是ftp用户的家目录
他和其他用户不一样,他的家目录没在/home下面,在匿名登陆的时候,系统默认使用的用户就是ftp用户 ,用户登陆成功后就会进入自己的家目录,所以匿名用户登陆就会进入 / var/ftp目录,下面我们看看 ftp家目录的权限
image
大家注意,家目录的权限是755,这个权限是不能改变的。切记!切记!! 
vsftpd安装好,默认就可以匿名下载,所以达到第一个功能,我们要做的就只是启动服务器
使用 service vsftpd start来启动vsftpd服务
也可以使用  chkconfig  vsftpd . 来打开2-5级别系统启动时启动vsftpd
image
现在我们先用win下面的资源管理来测试ftp服务器
image
成功登陆了
顺便在var/ftp/pub目录里面建立些文件,看能不能下载,可以下载哈~
image
刚才我们完成了匿名用户的测试,现在我们在linux下测试
linux最经典的ftp client软件lftp
使用lftp 软件: lftp  服务器IP地址 
这样就可以登陆进去了,使用“ ?”可以查看这个模式下可以使用的命令
一般使用的命令有这几个:
ls 查看 
cd 切换目录 
put 文件名  上传  
get   文件名  下载
下载的文件默认放在用户当前登陆的目录,所以用户一定要对当前的目录有写入权限
image
看下有没下载成功哈~
image
匿名用户默认不能上传哈~
image
下面我们使用ftp软件做client来登陆服务器,因为在救援模式下是没有lftp软件的,而且win下面也没有lftp软件,我们用命令提示符来做ftp的登陆
打开cmd
ftp 192.168.0.188
image
用户名使用ftp,密码为空
image
登陆successful
下面我们学习匿名用户的上传功能,这个就比较麻烦了
编辑 /etc/vsftpd/vsftpd.conf这个文件
image
这个配置文件很简单,而且每行命令上面都有注释来解释命令的用处
image
anonymous_enable=YES 
是否允许匿名ftp(默认为YES),如否则选择NO,基于用户名与密码的访问。
image
anon_upload_enable=YES 
是否允许匿名ftp 用户上传(默认被注释即不支持)
image
chroot_list_enable=YES  
是否将系统用户限制在自己的home目录下
chroot下季我们还会测试的
chroot_list_file=/etc/vsftpd/chroot_list 
如果chroot_list_enable=YES 那么在/etc/vsftpd/chroot_list 中列出的是被限制的用户的列表,这个和上面的连用
image
ftpd_banner=Welcome to blah FTP service.  
定制欢迎信息
image
local_enable=YES  
是否允许本地用户登录 
local_umask=022 
默认的umask码 
配置文件里面没有anon_umask,其实可以用这条, 权限掩码,比如umask是 022,你创建一个文件本来是666 就要 -022 = 644
image 
dirmessage_enable=YES 
是否显示目录说明文件, 默认是YES 但需要手工创建.message文件
这个.message,只有用命令登陆或者用工具,才可以看见,他不是一个弹出对话框,而是一段字符
其他的一些参数,大家了解下就好了
connect_from_port_20=YES 
是否确信端口传输来自20(ftp-data) 
chown_username=username 
是否改变上传文件的属主, 如果是需要输入一个系统用户名, 你可以把上传的文件都改成root 属主  
xferlog_file=/var/log/vsftpd.log  
ftp 传输日志的路径和名字默认是/var/log/vsftpd.log 
xferlog_std_format=YES  
是否使用标准的ftp xferlog 模式  
idle_session_timeout=600 
设置默认的断开不活跃session的时间  
data_connection_timeout=120 
设置数据传输超时时间  
ascii_upload_enable=YES 
ascii_download_enable=YES
 
是否使用ascii码方式上传和下载文件  
userlist_enable=YES 
在/etc/vsftpd/user_list 文件中列出用户不能访问FTP 服务器  
tcp_wrappers=YES 
是否支持tcp_wrappers
userlist及tcp wrapper 下季我们会讲
我们要配置了
匿名用户上传需要注意这几个地方 
1、上传目录ftp用户的写入权限 
2、服务器配置支持上传 
3、selinux支持上传
 
下面我们来一步一步的实现,先修改目录权限,创建一个上传用的目录,叫upload,分配ftp用户所有,目录权限是755
image
OK了,就做第二个,修改配置文件
vim /etc/vsftpd/vsftpd.conf
设置行号命令  :set nu
取消27和31行的注释,这两行的意思就是允许匿名用户上传文件
image
第三步修改selinux ,这个也是很多教程没有的一步
修改selinux有两种方法 
1、是图形界面 
2、是命令行
 
我们先用图形界面
system-config-selinux
image
选择boolean ,点FTP ,第三条,允许匿名用户上传文件,别修改目录的上下文为他要求的
image
切记,选中后要等会才会出现勾,你别一直点哈,点一次就OK 
我们使用命令行来打开
使用 getsebool -a | grep ftp 命令可以找到ftp的bool值,然后我们来改
getsebool -a 是显示所有的selinux的布尔值,通过管道,查找与ftp相关的
image
使用 setsebool -P allow_ftpd_anon_write . 命令设置布尔值
image
下面我们准备修改上下文
image
然后重新启动服务器
image
image
匿名登录FTP
image
现在我们匿名上传
image
现在匿名上传的文件是禁止删除滴~
image
这样匿名用户的上传就算成功了
好了,今天我们学习了,vsftpd的安装,和常见client软件的使用,还有匿名上传
###############################################
下季更新RHCE课程-RH253Linux服务器架设笔记一-VSFTPD的配置(2)
###############################################







本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/134839 ,如需转载请自行联系原作者
相关文章
|
27天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
173 7
|
1月前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
61 2
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
Linux 网络安全 开发工具
Linux安装vsftpd组件
Linux安装vsftpd组件
146 1
|
Linux
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
307 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
|
Linux 网络安全 开发工具
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
414 1
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
|
安全 网络协议 Linux
Linux下安装vsftpd
Linux下安装vsftpd
Linux下安装vsftpd
|
Linux Unix
Linux 源代码 安装vsftpd 2.3.4
Linux 源代码 安装vsftpd 2.3.4   2011-10-22 12:15:40|  分类: Unix/Linux 笔记 |  标签:linux  vsftpd  |举报|字号 订阅 wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-
2632 0