05 vsftpd搭建

匿名用户登录及设置
服务器端
#安装软件
$ yum -y install vsftpd   

在这里插入图片描述

#开启服务
$ systemctl start vsftpd
#通过端口验证开启成功,结果中可以看到用来监听的21端口
$ ss -antp | grep vsftpd    

在这里插入图片描述

#去掉前面的注释来增加匿名用户的权限
#注意此时应该先把要上传共享目录的文件系统权限设置上
$ vim /etc/vsftpd/vsftpd.conf
	anon_upload_enable=YES         #设置上传权限
	anon_mkdir_write_enable=YES    #设置创建目录权限
	anon_other_write_enable=YES    #设置其他写入权限

在这里插入图片描述

客户端
#安装连接命令
$ yum -y install ftp

在这里插入图片描述

#连接ftp服务器
$ ftp  ftp服务器IP
	输入用户名:ftp 或 anonymous
	输入密码:随便输入、一般输空直接回车
	进入ftp服务器进行上传,下载时要注意,不仅要修改/etc/vsftpd/vsftpd.conf 将对应download,upload注释符号删去,而且要注意你当前在的FTP服务器目录是否对other有rwx权限,这两个缺一不可。

在这里插入图片描述

改目录权限

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

ftp> pwd          #查看当前位置,在匿名用户的共享根目录即/var/ftp

在这里插入图片描述

ftp> get 文件名    #从共享目录下载文件到客户端的当前位置

在这里插入图片描述

ftp> put 文件名    #向共享目录上传文件、默认没有

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

ftp> mkdir 目录名  #在共享目录中创建目录的权限、默认没有

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

ftp> rename、delete等 #在共享目录的其他写权限、默认没有

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

#windows客户端
在文件资源管理器的地址栏中,输入:ftp://vsftpd服务IP/

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

本地用户登录及设置
服务器
#安装软件
$ yum -y install vsftpd      
#开启服务
$ systemctl start vsftpd
#通过端口验证开启成功,结果中可以看到用来监听的21端口
$ ss -antp | grep vsftpd    

#禁锢本地用户只能在自己的家目录范围
#注意此时应该先把要上传共享目录的文件系统权限设置上
$ vim /etc/vsftpd/vsftpd.con
	chroot_local_user=YES         #禁锢本地用户在家目录
	allow_writeable_chroot=YES    #禁锢本地用户后允许写权限

在这里插入图片描述

客户端
#安装连接命令
$ yum -y install ftp
#连接ftp服务器
$ ftp  ftp服务器IP
	输入用户名:vsftpd服务的用户名
	输入密码:vsftpd服务该用户的密码
ftp> pwd             #查看当前位置,在本地用户的家目录即/home/用户名

在这里插入图片描述

由于禁锢本地用户在家目录,所以无法切换目录

在这里插入图片描述

ftp> get 文件名       #从共享目录下载文件到客户端的当前位置
ftp> put 文件名       #向共享目录上传文件、默认有权限
ftp> mkdir 目录名     #在共享目录中创建目录的权限、默认有权限

在这里插入图片描述

ftp> rename、delete等 #在共享目录的其他写权限、默认有权限

#windows客户端
在文件资源管理器的地址栏中,输入:ftp://vsftpd服务IP/
右键登录
虚拟用户搭建
#创建虚拟用户(可将虚拟用户的家目录设置为指定的共享目录)
$ useradd -d /ftpShares -s /sbin/nologin virtual
$ chmod 755 /ftpShares

在这里插入图片描述

#创建被代理的账号信息、并更改成数据库文件(注:不能有空格)
$ cd /etc/vsftpd
#该文件名可以随便定义,文件内容格式:奇数行用户,偶数行密码
$ vim user.list
	username
	password

在这里插入图片描述

#将用户密码的存放文本转化为数据库类型,并使用hash加密
$ db_load -T -t hash -f /etc/vsftpd/user.list user.db

在这里插入图片描述

#-T就是这指定把普通文件转换为数据库文件,-t指定转换的数据库类型,这是hash,把一串较复杂的转换为较短且唯一的值,-f要转换的文件
#修改文件权限为600,保证其安全性
$ chmod 600 user.*

在这里插入图片描述

#更改vsftpd的认证方式
$ cd /etc/pam.d
$ cp vsftpd vsftpd.virtual
$ vim vsftpd.virtual
	#认证    需要        模块            数据文件路径,省略最后的.db
	auth    required pam_userdb.so  db=/etc/vsftpd/user
	account required pam_userdb.so  db=/etc/vsftpd/user

在这里插入图片描述

#更改主配置文件(注;不能有空格)
$ vim /etc/vsftpd/vsftpd.conf
	chroot_local_user=YES      (已存在、可选设)
	allow_writeable_chroot=YES

在这里插入图片描述

	pam_service_name=vsftpd.virtual
	userlist_enable=YES
	tcp_wrappers=YES
	guest_enable=YES
	guest_username=virtual
	user_config_dir=/etc/vsftpd/virtual_config

在这里插入图片描述

#该虚拟用户配置文件以被代理的用户名为文件名,内容为权限,可单独设置某一个权限、每个用户单独设置
#注:此时的共享目录是虚拟用户的家目录;内容不能有空格
$ cd /etc/vsftpd
$ mkdir virtual_config
$ touch laow
	anon_upload_enable=YES                   #能上传文件
	local_root=/ftpShares/yunwei
	#ftpShares目录是最大的目录,里面可以设置yunwei、kaifa子目录、需自己添加

在这里插入图片描述

$ touch laoli
	anon_upload_enable=YES                   #能上传文件
	anon_mkdir_write_enable=YES              #能创建文件夹
	anon_other_write_enable=YES	             #其他写入权限,如:改名、删除

在这里插入图片描述

#重启服务
$ systemctl restart vsftpd
登录

在这里插入图片描述

FTP加密传输
$ cd /etc/ssl/certs
#安装加密算法的依赖包openssl
$ yum -y install openssl openssl-devel

在这里插入图片描述

#创建证书
#-req:生成证书
#-new:表示生成一个新的证书签署请求;
#-x509:专用于生成CA自签证书,指定生成证书的格式
#-nodes 给当前主机的私钥创建证书
#-key:指定生成证书用到的私钥文件;
#-out FILNAME:指定生成的证书的保存路径;
#-keyout FIENAME:用自己定义的密钥进行加密;
#-days:指定证书的有效期限,单位为day,默认是365天;

#生成服务器私钥、采用rsa算法
$ openssl genrsa -out vsftpd.key 1024 

在这里插入图片描述

#根据服务器私钥,输入国家、地区、组织等证书信息,创建服务器自己的证书,生成csr文件、交给CA签名
$ openssl req -new -key vsftpd.key -out vsftpd.csr
#使用CA服务器签发证书,设置证书有效期等信息

在这里插入图片描述

$ openssl x509 -req -days 365 -sha256 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt
#修改证书文件的权限
$ chmod 500 /etc/ssl/certs/vsftpd.crt

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

#vsftpd配置文件添加加密设置
$ vim /etc/vsftpd/vsftpd.conf
	ssl_enable=YES
    #启用ssl认证、虚拟机版本不同支持的ssl版本不同
    ssl_tlsv1=YES
    ssl_sslv2=YES
    ssl_sslv3=YES
    #开启tlsv1、sslv2、sslv3都支持
    allow_anon_ssl=YES
    #允许匿名用户{虚拟用户}
    force_anon_logins_ssl=YES
    force_anon_data_ssl=YES
    #匿名登录和传输时强制使用ssl
    force_local_logins_ssl=YES
    force_local_data_ssl=YES
    #本地登录和传输时强制使用ssl
    rsa_cert_file=/etc/ssl/certs/vsftpd.crt
    #rsa格式的证书
    rsa_private_key_file=/etc/ssl/certs/vsftpd.key
    #rsa格式的密钥

ES
force_local_data_ssl=YES
#本地登录和传输时强制使用ssl
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
#rsa格式的证书
rsa_private_key_file=/etc/ssl/certs/vsftpd.key
#rsa格式的密钥

![在这里插入图片描述](https://img-blog.csdnimg.cn/98f9fd92ebcb425a97c24767b1e3504e.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21hX3diX2ljZXk=,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/00d7cdec23084a3bbf0f2575b7ef3840.png)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值