十二、vsftpd 服务的部署

十二、vsftpd 服务的部署

12.1 ftp介绍

  • FTP是文件传输协议(File Transfer Protocal)的简写,主要完成与远程计算机的文件传输。是互联网中最老牌的文件传输协议。
  • FTP采用客户/服务器模式,客户机与服务器之间利用TCP建立连接,客户可以从服务器上下载文件,也可以把本地文件上传至服务器。
  • FTP服务器有匿名的和授权的两种。匿名的FTP服务器向公众开放,用户可以用“ftp”或“anonymous”为帐号,用电子邮箱地址为密码登录服务器;授权的FTP服务器必须用授权的账户名和密码才能登录服务器。通常匿名的用户权限较低,只能下载文件,不能上传文件。
  • 客户机访问FTP服务器通常有两种方法:用FTP命令访问和用FTP客户端软件访问。

12.2 vsftpd安装

(1)在含有软件资源的主机中安装共享软件
安装共享软件
(2)关闭selinux和防火墙
关闭
关闭防火墙
(3)建立共享目录存放软件资源

[root@localhost Desktop]$ mkdir /var/ftp/text /var/ftp/software  #新建共享目录
[root@localhost Desktop]$ mount /dev/cdrom /var/ftp/text # 挂载到text目录下
[root@localhost Desktop]$ createrepo -v /var/ftp/software #把软件资源放到此目录中

(4)用另一台主机可以查看此主机的文件
连接查看你

12.3 vsftpd基本信息

  • 服务名称: vsftpd.service
  • 配置目录: /etc/vsftpd
  • 主配置文件: /etc/vsftpd/vsftpd.conf
  • 默认发布目录: /var/ftp
  • 报错信息:
    • 550 【程序本身拒绝】
    • 553 【文件系统权限限制】解决办法 chmod 777 加文件名
    • 500 【权限过大】解决办法 chmod 775 加目录名
    • 530 【认证失败】

12.4 匿名用户访问控制

[root@localhost Desktop]$ lftp 192.168.0.10 #当访问ftp服务时没有加入用户认证为匿名访问 

修改配置文件 /etc/vsftpd/vsftpd.conf 可以更改匿名登陆权限
修改权限

每次修改配置文件需要重启服务

anonymous_enable=YES/NO #登陆控制 
 
anon_root=/software #家目录控制 

anon_upload_enable=YES|NO #上传控制 
[root@localhost Desktop]$ chmod 777 /var/ftp/pub #改完配置文件增加目录权限
[root@localhost2222 Desktop]$ lftp 192.168.0.10 #在另一台主机上连接共享IP上传文件
lftp @192.168.0.10 :~> cd pub 
lftp @192.168.0.10 :~> put /etc/passwd
 
anon_world_readable_only=NO #匿名用户可以下载不能读的文件
 
 
anon_mkdir_write_enable=YES/NO   #目录建立控制 
 
anon_other_write_enable=YES/NO  #删除重命令控制

max_clients=2 # 登陆数量控制
 
anon_max_rate=102400 #上传速率控制 
  • 例子1 不允许匿名用户登陆
    修改配置文件
    在这里插入图片描述
    失败
  • 例子2 允许上传文件
    修改配置文件

12.5 本地用户访问控制

[root@localhost Desktop]$ lftp 192.168.0.10 -u weoopp ##本地用户访问


修改配置文件 /etc/vsftpd/vsftpd.conf 可以更改匿名登陆权限
修改权限

每次修改配置文件后需要重启服务

local_enable=NO/YES   #是否允许本地用户登陆
 
local_root=/software  #家目录控制 是否允许进入分享主机的家目录
 
write_enable=NO/YES  #写权限控制
 
local_umask=077 #上传文件权限控制
 
/etc/vsftpd/ftpusers #用户登陆控制 永久黑名单 
/etc/vsftpd/user_list #用户登陆控制 默认黑名单
 
userlist_deny=NO #设定/etc/vsftpd/user_list位白名单 #不在名单中的用户不能登陆ftp 用户登陆白名单 
 
[root@localhost Desktop]$ chmod  u-w /home/*   #锁定用户到自己的家目录中
chroot_local_user=YES
 
chroot_local_user=YES #锁定用户到自己的家目录中的白名单 
chroot_list_enable=YES  
chroot_list_file=/etc/vsftpd/chroot_list
 
chroot_local_user=NO 锁定用户到自己的家目录中的黑名单 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list
  • 例子1 永久黑名单加上名字
[root@localhost Desktop]$ vim /etc/vsftpd/ftpusers #进入永久黑名单

加用户
本地用户无法登录

12.6 虚拟用户访问

(1)建立虚拟用户

  • 主要步骤
[root@rhel8 Desktop]$ vim /etc/vsftpd/ftp_auth_file  #建立认证文件模板
text1  #虚拟用户账号及密码
123
text2
123
[root@rhel8 Desktop]$ db_load -T -t hash -f ftp_auth_file ftp_auth_file.db #加密认证文件 -T转换 -t 类型 -f 指定转换文件
[root@rhel8 Desktop]$ vim /etc/pam.d/text  #编写认证策略文件
account   required   pam_userdb.so   db=/etc/vsftpd/ ftp_auth_file 
auth      required   pam_userdb.so   db=/etc/vsftpd/ ftp_auth_file
[root@rhel8 Desktop]$ vim /etc/vsftpd/vsftpd.conf #修改配置文件
pam_service_name=text #指定认证策略文件 
guest_enable=YES #指定虚拟用户功能开启 
guest_username=ftp #指定虚拟用户在ftp服务器上的用户身份
  • 认证文件建立以及加密
    认证文件
  • vsftpd配置文件修改
    配置文件
  • 认证策略文件编写
    配置文件
    (2) 虚拟用户家目录的独立设定
  • 主要步骤
[root@rhel8 Desktop]$ mkdir -p /ftpuserdir/text{1..2} #新建两个以用户名为名字的目录
[root@rhel8 Desktop]$ touch /ftpuserdir/text1/file1
[root@rhel8 Desktop]$ touch /ftpuser/text2/file2
[root@rhel8 Desktop]$ vim /etc/vsftpd/vsftpd.conf #修改配置文件
local_root=/ftpuserdir/$USER  #设定独立家目录
user_sub_token=$USER
[root@rhel8 Desktop]$ systemctl restart vsftpd #重启服务
  • 建立目录
    建立目录

  • 配置文件独立设定家目录

    (3)用户配置独立

  • 主要步骤

[root@rhel8 Desktop]$ mkdir /etc/vsftpd/user_config #建立用户配置文件
[root@rhel8 Desktop]$ vim  /etc/vsftpd/user_config/text1
anon_upload_enable=YES #打开text1上传功能
[root@rhel8 Desktop]$ vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=NO #把整体的上传功能关闭
user_config_dir=/etc/vsftpd/user_config #在此目录中与用户名称相同的文件为用户 
[root@rhel8 Desktop]$ systemctl restart vsftpd #重启服务
  • vsftpd配置文件
    在这里插入图片描述
  • 用户独立配置文件
  • 结果 text1虚拟用户可以进行上传text2用户不可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值