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 ,如需转载请自行联系原作者
相关文章
|
20小时前
|
Linux
如何将一个linux服务器挂载到另外一个linux服务器上
如何将一个linux服务器挂载到另外一个linux服务器上
13 1
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
14 0
|
1天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
11 1
|
2天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第15天】Linux服务器如何查询连接服务器的IP
9 1
|
2天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
40 2
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
3天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
30 1
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
420 4
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程