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 ,如需转载请自行联系原作者
相关文章
|
9天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
12天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
27 4
|
3天前
|
网络协议 安全 Linux
配置vsftpd服务
FTP是TCP/IP协议族中的应用层协议,用于可靠地传输文件,基于C/S架构,使用20(数据)和21(命令)端口。有两种传输模式:主动模式,客户端告知服务器数据端口,服务器发起连接;被动模式,服务器响应客户端的PASV命令,客户端建立数据连接。安装Linux的vsftpd服务涉及`yum install vsftpd`,创建用户,重启服务并设置开机启动。配置文件`vsftpd.conf`可调整访问权限和行为。通过FTP命令如`help`,`get`,`put`进行文件操作。匿名用户模式可允许无密码访问,需修改配置文件开启。
7 0
|
5天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1004 6
|
13天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
17天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
17天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
20天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
7月前
|
Linux 网络安全 开发工具
Linux安装vsftpd组件
Linux安装vsftpd组件
79 1
|
安全 网络协议 Linux
Linux下安装vsftpd
Linux下安装vsftpd
Linux下安装vsftpd