linux下的FTP服务

什么是FTP协议

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

(1)准备工作
执行getenforce命令

如果是Disabled不用管
如果是enforcing
vim /etc/sysconfig/selinux 改SELINUX=Disabled
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ftp服务的基本信息

软件安装包vsftpd
默认发布目录/var/ftp
默认发布目录的子目录/var/ftp/pub/
协议接口21/tcp
服务配置文件/etc/vsftpd/vsftpd.conf

报错id的解析:

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

安装ftp服务(搭建ftp服务器)以及进行测试

(1)寻找安装ftp服务的安装包

在这里插入图片描述

(2)yum install vsftpd lftp -y 安装vsftpd服务 与 lftp客户端

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

(3)systemctl start vsftpd 开启vsftpd服务
systemctl enable vsftpd 设置开机启动

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

(4)rpm -ql vsftpd 看该服务的安装目录 /var/ftp /var/ftp/pub

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

(5)rpm -qc vsftpd 看该服务的配置文件 /etc/vsftpd/vsftpd.conf

在这里插入图片描述

  /etc/logrotate.d/vsftpd 	       日志文件
  /etc/pam.d/vsftpd 	           认证文件
  /etc/vsftpd/ftpusers 	          黑名单文件
  /etc/vsftpd/user_list 	      用户名单文件
  /etc/vsftpd/vsftpd.conf 	      配置文件
(6)在火墙里面添加ftp服务

在这里插入图片描述

(7)验证ftp服务器是否搭建成功
lftp 172.25.254.114 登陆ftp服务器相当于以匿名用户身份登陆
这里的匿名用户就相当于ftp用户

在这里插入图片描述

vsftpd服务的配置参数

主机以什么样的身份登陆ftp服务器,这些均需要在ftp服务器的客户端配置文件里面设置
在配置文件/etc/vsftpd/vsftpd.conf当中修改配置参数,每次修改完配置文件重启才会生效
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
几个报错参数:

530表示认证失败 ,服务器不允许或者密码错误
550表示服务本身的功能没有开启
553表示权力过小或者所访问的服务器的文件系统有问题
500服务本身认为我所操作的服务的权力过大
(1)匿名用户的相关设定
匿名用户登陆限制
anonymous_enable=YES|NO 

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

匿名用户上传
vim /etc/vsftpd/vsftpd.conf

write_enable=YES
anon_upload_enable=YES

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

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

匿名用户家目录修改
anon_root=/direcotry

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

匿名用户上传文件默认权限修改
anon_umask=xxx

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

匿名用户建立目录
anon_mkdir_write_enable=YES|NO

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

匿名用户下载
anon_world_readable_only=YES|NO #设定参数值为no表示匿名用户可以下载

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

匿名用户删除
anon_other_write_enable=YES|NO 

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

最大上传速率
anon_max_rate=102400

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

最大连接数
max_clients=2

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

(2)本地用户设定
local_enable=YES|NO #本地用户登陆限制

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

write_enable=YES|NO #本地用户写权限限制

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

本地用户家目录修改
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
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

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

ftp虚拟用户的设定

(1)创建虚拟帐号身份

vim /etc/vsftpd/loginusers ##文件名称任意

在这里插入图片描述

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

解释:

db_load 	-T 	    -t    	hash 	    -f
加密命令   	转换 	建立 	加密方式  	文件

/etc/vsftpd/loginusers   	/etc/vsftpd/loginusers.db
被加密文件 	                  加密的文件

在这里插入图片描述

vim /etc/pam.d/westos ##文件名称任意(设置转换桥梁)
account  required 	pam_userdb.so 	db=/etc/vsftpd/loginusers
auth 	 required 	pam_userdb.so 	db=/etc/vsftpd/loginusers
(帐号和密码   请求访问允许或者拒绝    验证程序  	在该文件里面验证)

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

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos(使它生效)
guest_enable=YES
虚拟帐号身份指定  guest_username=ftp

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

测试连接

在这里插入图片描述
(2)虚拟帐号家目录独立设定(使虚拟用户的登陆进去不再是ftp用户的默认家目录)

vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER

在这里插入图片描述

mkdir /ftphome/ftpuser{1..3} -p
touch /ftphome/ftpuser1/file1
touch /ftphome/ftpuser2/file2
touch /ftphome/ftpuser3/file3
进行测试(每个虚拟用户有各自独立的家目录)

在这里插入图片描述
(3)虚拟帐号配置独立(想让哪个用户干什么用户就干什么 ,vsftpd的安全性就体现在这里)

vim /etc/vsftpd/vsftpd.conf
      user_config_dir=/etc/vsftpd/userconf
      mkdir -p /etc/vsftpd/userconf
      
      vim /etc/vsftpd/userconf/ftpuser1
      在此文件中设定配置文件中的所有参数,此文件的优先级高

         chgrp ftp /ftphome/ftpuser{1..3}/pub
         chmod 775 /ftphome/ftpuser{1..3}/pub 
          
         以ftpuser1用户可以实现文件上传为例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
备注:
在ftp服务器端改权限
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
此时匿名用户就可以对pub/这个子目录进行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值