linux ftp服务器

部署 FTP 服务器

FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File TransferProtocolDamon 服务器名称也叫做 vsftpd默认配置文件让 ANONYMOUS 用户只能下载位于 CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP 客户端能以用户anonymous 或 ftp 身份连接到服务器 ( 无需密码 ), 并从 ftp服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )

部署网络服务的四个步骤

安装服务软件
启动服务
启用服务
测试服务

超文本传输协议
vsftpd #ftpd服务
lftp #相当于浏览器

1.ftp启用(yum源已经配置好)

yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd

在这里插入图片描述
在这里插入图片描述

关闭火墙/让防火墙允许ftp服务
允许ftp:

firewall-cmd --list-all				##列出所有防火墙有关支持的
firewall-cmd --permanent --add-service=ftp	##在防火墙允许的服务中添加ftp服务
firewall-cmd --reload 				##重启firewall-cmd
firewall-cmd --list-all		

示例:
列出防火墙的所相关的所有内容;
允许对ftp服务关闭防火墙功能;
在这里插入图片描述
重启后防火墙对ftp服务关闭
在这里插入图片描述

ftp是内核加强型防火墙需要把selinux改称disabled,之后重启虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启后显示disabled
在这里插入图片描述

2.ftp基本信息
访问数据端口:21
数据传输端口:>1024的随即端口
21主动模式(服务端主动推送) 20被动模式

[root@client ~]# netstat -antulpe | grep vsftpd
tcp6       0      0 :::21                   :::*                    LISTEN      0          99108      2225/vsftpd 

在这里插入图片描述

默认发布目录:/var/ftp
访问方式:

	lftp 172.25.254.100	#匿名用户登陆 默认/var/ftp/pub/发目录
	lftp 172.25.254.100	-u xxx#用户登陆  /home里
	lftp 172.25.254.103 -u student

在这里插入图片描述

在这里插入图片描述

配置文件:vim /etc/vsftpd/vsftpd.conf

[root@client student]# rpm -qc vsftpd	##查找配置文件所在位置

在这里插入图片描述
在这里插入图片描述

3.ftp的安全部署

500报错:权限过大
530报错:认证失败
550报错:服务本身不允许
553报错:文件系统权限过小

anonymous #匿名用户
local #本地用户

##用户登陆

anonymous_enable=NO  ##禁止匿名用户登陆

在这里插入图片描述
测试:匿名用户不能登陆,本地用户可以
在这里插入图片描述

在这里插入图片描述

#匿名用户上传

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

vim /etc/vsftpd/vs
anon_upload_enable=YES

示例:
(本地用户可以直接上传,匿名用户不可以)
由于write_enable=YES本地用户可以直接上传
在这里插入图片描述
当write_enable=NO时:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##匿名用户下载

anon_world_readable_only=NO

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#匿名用户删除和重命名

anon_other_write_enable=YES

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#匿名用户家目录更改

anon_root=/westos

在这里插入图片描述

#匿名用户umask值修改

anon_umask=022

在这里插入图片描述
在这里插入图片描述

#匿名用户使用的身份修改

chown_uploads=YES
chown_username=student

在这里插入图片描述在这里插入图片描述

#匿名用户建立目录

anon_mkdir_write_enable=YES

在这里插入图片描述
在这里插入图片描述

#匿名用户最大上传限速

anon_max_rate=102400  单位:字节
dd if=/dev/zero of=/mnt/bigfile bs=1M count=2000

在这里插入图片描述
限制上传速度100K/S
在这里插入图片描述

在这里插入图片描述

#最大链接个数

max_clients=5	#只能有5个人链接ftp

#本地用户家目录修改

local_root=/westos

在这里插入图片描述
在这里插入图片描述

#本地用户上传文件权限(在)

local_umask=077 

在这里插入图片描述
在这里插入图片描述

#本地用户家目录锁定

chroot_local_user=YES

#限制本地用户浏览根目录

chroot_local_user=YES    #此参数要求去掉自己对自己家目录的写权限
chmod u-w /home/*	#都去掉

在这里插入图片描述

访问根目录黑名单建立

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

示例:student在黑名单 访问不了根目录,westos 可以访问。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问根目录白名单建立

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

示例:student在白名单,可以访问根目录,westos不可以。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#限制本地用户登陆

vim /etc/vsftpd/ftpusers	#永久黑名单
vim /etc/vsftpd/user_list	#临时黑名单 no白名单 yes黑名单

示例:vim /etc/vsftpd/ftpusers #永久黑名单
在这里插入图片描述
在这里插入图片描述

#用户白名单设定

userlist_deny=NO
/etc/vsftpd/user_list		#此参数设定,此文件变成用户白名单,名单中出现的用户可以登陆ftp

示例:
vim /etc/vsftpd/user_list #westos设置为用户
在这里插入图片描述
因为westos在临时黑名单中所以无法访问。
在这里插入图片描述

[root@client westos]# vim /etc/vsftpd/vsftpd.conf 
userlist_deny=NO
/etc/vsftpd/user_list	
[root@client westos]# systemctl restart vsftpd.service #黑名单变白名单

在这里插入图片描述
在这里插入图片描述

4.ftp虚拟用户的设定
#新建虚拟用户

vim /etc/vsftpd/westos	#文件名任意
user1 #用户名
123	#密码
user2
123

在这里插入图片描述

db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db #改铭文密码
cat westos.db	#查看密码
rpm -qc pam.x86-64 #查看pam安装了没,没安装yum install pam.x86-64 

vim /etc/pam.d/westos	#文件名任意
account#帐号         required        pam_userdb.so           db=/etc/vsftpd/westos
auth#密码            required        pam_userdb.so           db=/etc/vsftpd/westos

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES

在这里插入图片描述
在这里插入图片描述

#虚拟用户身份指定

虚拟用户本来登陆进来是/var/ftp/pub/

guest_username=westos  #指定用户身份以westos登陆

在这里插入图片描述
在这里插入图片描述

#虚拟用户家目录的独立设定

vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER         ##解释$USER的作用:    $user	当前用户身份 
mkdir -p /ftphome/user1/user1dir
mkdir -p /ftphome/user2/user2dir

在这里插入图片描述
在这里插入图片描述

##虚拟用户独立配置

chgrp ftp /ftphome -R
chmod 775 /ftphome/user1/user1dir
chmod 775 /ftphome/user2/user2dir
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf/
vim /etc/vsftpd/userconf/user1

举例:anon_upload_enable=YES
在这里插入图片描述
在这里插入图片描述
给虚拟用户独立配置上传功能
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43067754/article/details/83792357