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 ,如需转载请自行联系原作者
相关文章
|
6天前
|
存储 弹性计算 大数据
阿里云服务器38元、99元、199元特惠详细配置、适用场景及购买条件介绍
阿里云特惠云服务器全解析:入门款:轻量应用服务器(2核2G200M带宽+40G ESSD盘)38元/年,日均0.1元。进阶款:经济型e实例(2核2G3M带宽+40G ESSD Entry盘)99元/年,续费同价。性能款:通用算力型u1实例(2核4G5M带宽+80G ESSD Entry盘)199元/年,企业独享,续费同价。三款配置覆盖个人建站、中小企业应用及轻量级企业服务,通过大数据精选用户常用配置,实现价格与性能的精准匹配。本文将详细解析这些阿里云服务器的配置、价格、限购条件以及购买指南,帮助大家更好地了解和选择适合自己的云服务器。
|
3天前
|
弹性计算 网络协议 安全
【转】如何配置服务器的端口映射?
本文详解端口映射原理及配置方法,涵盖家庭、企业与云环境,包含静态、动态与双向映射类型,并提供常见问题解决方案。
76 6
|
19天前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
42 2
|
12天前
|
存储 固态存储 安全
阿里云服务器最新租用价格:收费标准与2核4G/4核8G等热门配置活动价格参考
阿里云服务器租用价格是多少?阿里云服务器报价主要看所选云服务器的实例规格与带宽和云盘等配置,现在购买阿里云服务器,轻量应用服务器2核2G200M带宽38元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年。本文为大家展示阿里云服务器最新的收费标准与活动价格情况,以供了解和参考。
|
Linux 开发工具 数据安全/隐私保护
|
1月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
1月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
28天前
|
Linux
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
99 8
|
1月前
|
安全 Linux 定位技术
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
48 4
|
2月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
165 32