Linux下FTP服务

FTP服务的安装及启用

1、 FTP
FTP ( File TransferProtocol,文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法。

在 RED HAT ENTREPRISE LINUX 7中,FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File TransferProtocol Damon 服务器名称也叫做 vsftpd默认配置文件让ANONYMOUS 用户只能下载位于 CHROOT 目录中的内容。

/var/ftp/ (默认发布目录) 这意味着远程 FTP 客户端能以用户anonymous 或 ftp 身份连接到服务器 ( 无需密码 ), 并从 ftp服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这些文件 )

主配置目录/etc/vsftpd/vsftpd.conf

协议接口: 协议接口: 21/tcp
主动访问时文件传输端口为 20
被动访问时随机开启1024以上随机端口(默认)
2 、安装FTP
在配置好yum仓库后执行以下命令即可安装FTP及FTP浏览器

yum install vsftpd.x86_64 lftp.x86_64 -y #vsftp为ftp服务,lftp为ftp浏览器

ftp服务状态与火墙调整:

 systemctl start vsftpd								#开启ftp
 systemctl enable vsftpd							#使ftp开机启动
 firewall-cmd --permanent --add-service=ftp			#在火墙中允许ftp运行
 firewall-cmd --reload								#重载火墙

在这里插入图片描述
3、 测试
在另一台同网段主机中:

lftp 172.25.254.216

在这里插入图片描述
发现可以成功进入发布目录,说明ftp安装成功

FTP基本安全部署

实验之前首先需要将selinux关闭:更改/etc/sysconfig/selinuxselinux的状态为disabled,之后重启系统使之生效
step1 设置匿名用户登陆
在ftp配置文件 /etc/vsftpd/vsftpd.conf中:
在这里插入图片描述
默认匿名用户可以登陆,改成NO后重启服务:

systemctl restart vsftpd

再次登陆匿名用户发现不能登陆:
在这里插入图片描述
在这里插入图片描述
step2 设置本地用户登陆

vim /etc/vsftpd/vsftpd.conf    ###修改配置文件

在这里插入图片描述
改成NO后重启服务,发现本地用户不能登陆:
在这里插入图片描述
step3 设置本地用户可写

vim /etc/vsftpd/vsftpd.conf    ###修改配置文件

在这里插入图片描述
默认可写:
在这里插入图片描述
改成NO重启服务后:
在这里插入图片描述

设置匿名用户读写

1 、匿名用户上传
默认设置下,匿名用户上传文件时:
在这里插入图片描述
在配置文件中:
在这里插入图片描述
将功能打开(同时也要打开write_enable=YES),重启服务后使用匿名用户上传文件:
在这里插入图片描述
因此还需要修改本地文件系统/var/ftp/pub权限
注意:/var/ftp目录不能有写权限,否则不能登陆,因此需要修改/var/ftp/pub权限

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

在这里插入图片描述
之后再使用匿名用户上传文件发现可以成功上传在这里插入图片描述
2、 匿名用户下载
默认情况下匿名用户下载:
在这里插入图片描述
使用man 5 vsftpd.conf查看匿名用户下载权限设定:
在这里插入图片描述
在配置文件中写入:
在这里插入图片描述
保存后重启服务,再次使用匿名用户下载文件:
在这里插入图片描述
3 、匿名用户建立目录
默认情况下匿名用户建立目录:
在这里插入图片描述
在配置文件中将anon_mkdir_write_enable=YES功能打开:
在这里插入图片描述
重启服务后再次建立目录:
在这里插入图片描述

匿名用户其他参数设定

1、 匿名用户上传文件的权限
默认情况下匿名用户上传文件的权限为600:
在这里插入图片描述
可以在配置文件中作以下更改来改变上传文件的权限:
在这里插入图片描述
之后再次上传文件:
在这里插入图片描述
2 、匿名用户指定默认发布目录
可以在配置文件中加:

anon_root=/westos			#指定默认发布目录为/westos


测试:

mkdir /westos
touch /westos/file{1..5}

在这里插入图片描述
3 、设定匿名用户上传速率
在配置文件中:
在这里插入图片描述
在这里插入图片描述

本地用户的设定

1 、本地用户能否登陆

local_enable=YES

2、 本地用户是否可写

write_enable=YES

3 、本地用户上传的文件的权限

 local_umask=022

4、 本地用户登陆目录设定
本地用户登陆时默认在其家目录/home/user中,可以在配置文件中加入:
在这里插入图片描述
重启服务后的登陆:在这里插入图片描述
5 、限定本地用户在其家目录中
本地用户登陆时默认在其家目录/home/user中,但是还可以去/目录,可以在配置文件中修改以限定本地用户在其家目录中
在这里插入图片描述
之后需要去掉家目录中的写权限:

chmod u-w /home/*

在这里插入图片描述
在这里插入图片描述
6、 限定某些本地用户在其家目录中(黑名单)
将某些用户限制在其家目录中,需要在配置文件中进行以下设定:
在这里插入图片描述
/etc/vsftpd/chroot_list文件默认不存在,需要建立并编辑文件:

vim /etc/vsftpd/chroot_list			#写入需要限制的本地用户
chmod u-w /home/*						#删除写权限

在这里插入图片描述
使用lee用户打开根目录:
在这里插入图片描述
7 、限定某些本地用户可以进入根目录(白名单)
在配置文件中进行以下设定:
在这里插入图片描述
测试,此时lee在白名单中:
在这里插入图片描述
8、 限制本地用户登陆

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

当用户在/etc/vsftpd/ftpusers文件中时,用户不能登陆ftp,登陆会提示530错误

当用户出现在/etc/vsftpd/user_list中时,用户也不能登陆ftp,但是当在配置文件/etc/vsftpd/vsftpd.conf写入:

userlist_deny=NO

/etc/vsftpd/user_list将会变成白名单

虚拟用户的认证设定

1 建立认证文件

vim vuserlist

在文件内写入三那个虚拟用户和密码:
user1
123
user2
123
user3
123
使用以下命令对其进行加密:

db_load -T -t hash -f vuserlist vuserlist.db

2 生成认证策略

vim /etc/pam.d/ftpuser

在文件中写入:

account         required        pam_userdb.so   db=/etc/vsftpd/vuserlist
auth            required        pam_userdb.so   db=/etc/vsftpd/vuserlist

在这里插入图片描述
3 编辑配置文件
/etc/vsftpd/vsftpd.conf中写入:

 pam_service_name=ftpuser
 guest_enable=YES
 guest_username=ftp	

在这里插入图片描述
更改后重启服务,测试:
在这里插入图片描述

虚拟用户家目录的设定和授权独立

(1)虚拟用户家目录的设定

1 建立虚拟用户家目录及测试文件

 mkdir /var/ftpuserdir/user{1..3}/pub -p
 touch /var/ftpuserdir/user1/user1file
 touch /var/ftpuserdir/user2/user2file
 touch /var/ftpuserdir/user3/user3file

2 更改配置文件

 vim /etc/vsftpd/vsftpd.conf 

写入:

 local_root=/var/ftpuserdir/$USER
 user_sub_token=$USER

在这里插入图片描述
3 测试
在这里插入图片描述

(2)虚拟用户家授权独立

1 更改文件与目录权限

 chgrp ftp /var/ftpuserdir/ -R
 chmod 775 /var/ftpuserdir/user{1..3}/pub

2 独立配置文件

 vim /etc/vsftpd/vsftpd.conf 

写入:

user_config_dir=/etc/vsftpd/user_config		#指定用户独立配置目录

建立独立配置目录与文件:

mkdir /etc/vsftpd/user_config					#用户独立配置目录
 vim /etc/vsftpd/user_config/user2				#user2的独立配置文件,此文件优先级高

在独立配置文件中写入:

anon_upload_enable=YES			#允许上传文件,若需要其他权限可以加其他参数

重启服务:

 systemctl restart vsftpd.service

3 、测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值