linux中的ftp服务

FTP服务

ftp:// 		 ##文件传输协议

1.服务安装(环境配置)

yum install vsftpd  lftp -y
systemctl start vsftpd
systemctl enable vsftpd

firewall-config
选择ftp服务								##设置ftp可以通过防火墙
firewall-cmd --list-all查看是否修改成功

vim /etc/sysconfig/selinux
更改SELINUX的状态为disabled
getenforce  查看selinux的状态

2.ftp服务的基本信息
软件安装包: vsftpd
默认发布目录: /var/ftp
协议接口: 21/tcp
服务配置文件: /etc/vsftpd/vsftpd.conf

报错id的解析:
	500		##文件系统权限过大
	530		##用户认证
	550		##服务本身功能未开放
	553		##本地文件系统权限过小

3.配置文件

vim  /etc/vsftpd/vsftpd.conf

4.匿名用户配置

(1)匿名用户登陆

anonymous_enable=YES|NO	##匿名用户是否登陆

在这里插入图片描述

(2)匿名用户上传

vim /etc/vsftpd/vsftpd.conf
write_enable=YES		
anon_upload_enable=YES			##配置文件中设置
chgrp ftp /var/ftp/pub			
chmod 775 /var/ftp/pub			##虚拟机上更改权限

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

anon_root=/目录

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

(4)匿名用户上传文件默认权限修改

anon_umask=xxx (022)

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

(5)匿名用户建立目录或文件

anon_mkdir_write_enable=YES|NO	

在这里插入图片描述
在这里插入图片描述
(6)匿名用户下载

anon_world_readable_only=YES|NO##设定no时可以下载

在这里插入图片描述
在这里插入图片描述
(7)匿名用户删除文件

anon_other_write_enable=YES|NO

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

(8)匿名用户使用的用户身份修改

chown_uploads=YES
chown_username=student
chown_upload_mode=0644

在这里插入图片描述
在这里插入图片描述
可以由上传的文件的uid表示看出匿名用户使用的用户身份
在这里插入图片描述

(9)最大上传速率(平均速度)

anon_max_rate=102400

在这里插入图片描述
先新建一个大一点的文件
在这里插入图片描述
在这里插入图片描述
(10)最大连接数(能和几个主机同时建立ftp连接)

max_clients=1

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

5.本地用户配置

(1)本地用户登陆
local_enable=YES|NO
在这里插入图片描述
(2)本地用户上传权限
write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述
(3)本地用户家目录修改
local_root=/目录
在这里插入图片描述在这里插入图片描述

(4)本地用户上传文件的权限
local_umask=xxx
在这里插入图片描述
在这里插入图片描述
(5)限制本地用户浏览目录
(1所有用户被锁定到自己的家目录中

chroot_local_user=YES		
chmod u-w /home/*		   

更改前
在这里插入图片描述
更改后
在这里插入图片描述
(2用户浏览目录黑名单建立

chroot_local_user=NO						##黑名单开启
chroot_list_enable=YES						##黑名单开启,这些用户不能访问
chroot_list_file=/etc/vsftpd/chroot_list	##黑名单用户文件内容

在这里插入图片描述
在这里插入图片描述
可见student只能浏览加目录不能浏览根目录,但qwq用户可以浏览根目录
在这里插入图片描述
(3用户白名单建立
chroot_local_user=YES ##白名单开启
chroot_list_enable=YES ##白名单开启后,这些用户能够访问
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述在这里插入图片描述
当白名单里有student用户时,student可以访问根目录,这时qwq(其他用户)无法访问根目录
在这里插入图片描述
在这里插入图片描述

(6)限制本地用户登陆
vim /etc/vsftpd/ftpusers ##用户永久黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单(重启服务时会失效)
在这里插入图片描述
在这里插入图片描述
用户白名单设定

vim /etc/vsftpd/vsftpd.conf 
userlist_deny=NO
vim /etc/vsftpd/user_list	此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

在这里插入图片描述

在这里插入图片描述
可见白名单内的student用户可以登陆ftp服务,但别的本地用户无法登陆ftp
在这里插入图片描述
在这里插入图片描述

6.ftp虚拟用户的设定

1.创建虚拟帐号身份

步骤:
(1)设置虚拟帐号和密码

vim /etc/vsftpd/vmfile	##名称任意
内容:
westos1
123
westos2
456
westos3
789

在这里插入图片描述
(2)生成用hash加密的.db文件
db_load -T -t hash -f /etc/vsftpd/vmfile /etc/vsftpd/vmfile.db
-T表示转换,-t表示加密类型,-f文件选择
在这里插入图片描述
(3)生成加密策略

vim /etc/pam.d/vm	##文件名称任意
内容:
account  required  pam_userdb.so  db=/etc/vsftpd/vmfile		##帐号
auth     required  pam_userdb.so  db=/etc/vsftpd/vmfile		##密码
类型      认证策略     认证方式        需要认证的文件

在这里插入图片描述
(4)更改ftp配置文件

vim /etc/vsftpd/vsftpd.conf 

pam_service_name=vm(生成的加密策略的名称)	##选择加密策略
guest_enable=YES						##开启虚拟认证服务

在这里插入图片描述

(5)测试

在这里插入图片描述
B.虚拟帐号身份指定:

 vim /etc/vsftpd/vsftpd.conf 
 guset_username=westos			##更改虚拟帐号身份指定
 chmod u-w /home/westos			##更改虚拟帐号指定身份的权限

在这里插入图片描述
在这里插入图片描述
C.虚拟用户家目录独立指定
(1)更改配置文件

vim /etc/vsftpd/vsftpd.conf 
local_root=/var/ftpuserdir/$USER			##此处的USER表示为当前用户
user_sub_token=$USER

在这里插入图片描述
(2)建立家目录

mkdir /var/ftpuserdir/westos1/user1dir -p
mkdir /var/ftpuserdir/westos2/user2dir -p
mkdir /var/ftpuserdir/westos3/user3dir -p

(3)测试
在这里插入图片描述
D.虚拟帐号配置独立
(1)更改权限

chmod 775 /var/ftpuserdir/westos*/pub
chgrp ftp /var/ftpuserdir/westos*/pub

在这里插入图片描述
(2)建立虚拟用户配置文件目录

mkdir -p /etc/vsftpd/user_config	   ##建立虚拟用户配置文件目录
vim /etc/vsftpd/user_config/westos1
写入:anon_upload_enable=YES##再此文件中设定配置文件中的所有参数,此文件优先级高

在这里插入图片描述
(3) 配置文件

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/user_config##指定虚拟用户独立服务的目录

在这里插入图片描述
(4)测试
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值