Linux学习18:Ftp部署和配置


1.FTP文件传输协议

  1. FTP(文件传输协议)是 INTERNET 上仍常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输简单方法。
  2. 在RED HAT ENTREPRISE LINUX6 中,FTP服务包的名称为 VSFTPD( Very Secure File Transfer Protocol Damon )----- vsftpd 。
  3. FTP默认发布目录为 /var/ftp/pub,用户只能下载位于 CHROOT 目录中的内容。这意味着远程 FTP 客户端能以匿名用户anonymous 或 ftp 本地用户身份连接到服务器(无需密码),并从 ftp 服务器上的 /var/ftp/ 目录下载或上传文件(其本地 ftp 用户可以读取这些文件)。
  4. FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端
    其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源
  5. 在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。且由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
  6. 默认情况下FTP协议使用TCP端口中的 20、21这两个端口,其中20(被动端口)用于传输数据,21(主动端口)用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关。如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

2.部署FTP服务器

2.1FTP协议提供的软件

在rhel7中:vsftpd

2.2.部署FTP服务器

<实验准备>

<安装服务>

yum install vsftpd.x86_64 lftp.x86_64 -y		##下载ftp服务(vsftp和lftp)
systemctl start vsftpd							##开启vsftpd
systemctl enable vsftpd							##开机启动vsftpd

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

firewall-config				##在防火墙设置中开启ftp
firewall-cmd --list-all   	##查看防火墙中可以允许ftp服务
lftp 172.25.60.251    		##能登陆自己的ip并且显示,表示安装成功

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

关闭selinux
vim /etc/sysconfig/selinux
selinux=disabled
reboot		##修改之后重启

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


3.ftp服务的基本信息

/var/ftp默认发布目录
/etc/vsftpd配置目录
/etc/vsftpd/vsftpd.conf服务配置文件
21 /tcp协议接口

<报错id的解析>

500文件系统权限过大
530用户认证失败
550服务本身功能未开放
553本地文件系统权限过小

4.ftp服务配置文件vsftpd.conf

匿名用户登录

anonymous_enable=YES/NO     匿名用户是否可以登陆(YES---可登陆,NO---不可登陆)

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

本地用户登陆

local_enable=YES/NO 本地用户是否可以登陆(YES---可登陆,NO---不可登陆)

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

登录用户写权限

write_enable=YES/NO ftp是否对登陆用户可写(YES---可写,NO---不可写)

本地用户登录上传
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

匿名用户上传

write_enable=YES/NO ftp是否对登陆用户可写(YES---可写,NO---不可写)
anon_upload_enable=NO/YES     /*NO---不可上传,YES---可上传*/

chgrp ftp /var/ftp/pub     /*所有组改为 ftp*/
chmod 775 /var/ftp/pub     /*更改权限*/

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

匿名用户下载

anon_world_readable_only=NO/YES     /*NO---可下载,YES---不可下载*/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
匿名用户建立目录

anon_mkdir_write_enable=YES

在这里插入图片描述
在这里插入图片描述
匿名用户删除

anon_other_write_enable=YES

在这里插入图片描述
在这里插入图片描述
匿名用户家目录修改

anno_root=/zxyos     /*指定匿名用户登陆所处位置*/

在这里插入图片描述
在这里插入图片描述
匿名用户上传文件默认权限修改

anon_umask=022

在这里插入图片描述
在这里插入图片描述
匿名用户使用的用户身份修改

chown_uploads=YES
chown_username=student

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最大上传速率

anon_max_rate=102400(100K)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最大链接个数

max_clients=2

在这里插入图片描述
在这里插入图片描述
本地用户家目录修改

local_root=/directory

在这里插入图片描述
在这里插入图片描述
本地用户上传文件权限

local_umask=xxx

在这里插入图片描述
在这里插入图片描述
限制本地用户浏览/目录

chroot_local_user=YES    所有的用户可以访问
chmod u-w /home/*

没修改之前本地用户可以进入/浏览文件
在这里插入图片描述
修改之后无法访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

限制本地用户浏览/目录,用户黑名单建立

名单中出现的用户不可查看根目录

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

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

限制本地用户浏览/目录,用户白名单建立

名单中出现的用户可以查看根目录

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

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

限制本地用户登陆

vim /etc/vsftpd/ftpusers		##永久黑名单

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

vim /etc/vsftpd/user_list		##用户临时黑名单

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

限制本地用户登陆,用户白名单设定

userlist_deny=NO
vim /etc/vsftpd/user_list	

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


4.FTP虚拟用户设定

创建虚拟帐号身份

vim /etc/vsftpd/userlist	##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

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

db_load -T -t hash -f /etc/vsftpd/userlist userlist.db  ## 将此文件改为hash
db_load 加密命令
-T 转换
-t 指定加密方式
hash 哈希加密
-f 指定加密文件
 /etc/vsftpd/userlist 加密文件
 userlist.db 加密所的文件

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

ftp认证时使用pam认证

vim /etc/pam.d/ftpuser		##文件名称任意
account		required	pam_userdb.so	db=/etc/vsftpd/userlist
auth		required	pam_userdb.so	db=/etc/vsftpd/userlist

account/auth  用户/密码
required  请求访问时允许
pam_userdb.so  验证程序
db=/etc/vsftpd/vuserlist  pam验证文件(会自动生成.db)

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftpuser
guest_enable=YES
guest_username=ftp

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


5.FTP独立虚拟帐号

<虚拟帐号家目录独立指定>
步骤一:给三个用户建立不同的家目录

mkdir /var/ftpuserdir/{user1,user2,user3} -p
mkdir /var/ftpuserdir/{user1,user2,user3}/pub -p
touch /var/ftpuserdir/user1/user1file
touch /var/ftpuserdir/user2/user2file
touch /var/ftpuserdir/user3/user3file

步骤二:在ftp配置文件内写入虚拟账户信息

vim /etc/vsftpd/vsftpd.conf
local_root=/var/ftpuserdir/$USER
user_sub_token=$USER   ##使用shell中的用户名称

在这里插入图片描述
在这里插入图片描述
步骤三:虚拟帐号独立设置

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/user_config

在这里插入图片描述
步骤四:让ftpuser2可以上传,ftpuser1和ftpuser3不可以上传

修改权限
chgrp ftp /var/ftpuserdir/ -R
chmod 775 /var/ftpuserdir/ftpuser{1..3}/pub

注释掉vim /etc/vsftpd/vsftpd.conf 中匿名用户的上传
mkdir -p /etc/vsftpd/user_config    ##建立目录
cd /etc/vsftpd/user_config
vim ftpuser2
anon_upload_enable=YES   ##在ftpuser2中写入可上传

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值