Linux中FTP服务对不同用户的处理

1.ftp的定义

(1)FTP(文件传输协议)

是INTERNET上常用的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法。在REDHAT ENTREPRISE
LINUXX 6中,FTP服务器包法名称为诶VSFTPD,它代表very secure file transferprotocol
damon
服务器名称也称作vsftpd。默认配置文件让ANONYMOUS用户只能下载位于chroot目录中的内容。/var/ftp/这以为着远程FTP客户端能以用户anonymous或ftp身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其本地ftp用户可以读取这些文件)

(2)ftp协议提供的软件:
在rhel7中是vsftpd
(3)vsftpd配置服务中部分命令的含义

命令 含义
anonymous_enable=YES/NO 匿名用户是否可以登陆
local_enable=YES/NO 本地用户是否可以登陆
write_enable=YES/NO ftp是否可以对登陆用户可写
anon_upload_enable=YES 匿名用户可以上传文件
anon_root=/westos 匿名用户家目录的修改
anon_umask=022 匿名用户上传文件时修改默认权限
anon_world_readable_only=NO 匿名用户的下载,NO表示可以下载,YES表示不可以下载,下载是一个写的过程
anon_other_write_enable=YES 匿名用户可以删除文件
anon_mkdir_write_enable=YES 匿名用户可以创建目录
chown_uploads=YES,chown_username=hello,chown_upload_mode=0644 匿名用户使用的用户身份的修改(新上传的文件的uid时新设置的用户uid,而权限也是新设置用户的文件权限644)
anon_max_rate=102400 最大上传速率为100k左右
max_clients=1 设置最大连接数
write_enable=YES 本地用户可以上传文件
local_umask=022 本地用户上传文件权限
local_root=/westos 设置本地用户的家目录
chroot_local_user=YES,chroot_list_enable=YES(设置名单可用),chroot_list_file=/etc/vsftpd/chroot_list(名单的文件为/etc/vsftpd/chroot_list) 限制本地用户浏览“/”目录
chroot_local_user=YES 用户白名单的建立
chroot_local_user=NO 用户黑名单的建立
userlist_enable=YES(表示启用名单)uaerlist_deny=NO(若是NO表示名单是白名单,若是YES表示名单是黑名单 建立临时黑白名单
guest_enable=YES,guest_username=ftp,pam_service_name=ftpuser(pam认证的文件名) 指定虚拟帐号的身份
local_root=/var/ftpuserdir/ $USER,user_sub_token= $USER 指定虚拟帐号访问自己的家目录
user_config_dir=/etc/vsftpd/user_config,userlist_enable=YES 让指定的虚拟用户上传文件

2.部署ftp服务

yum install vsftpd -y systemctl start vsftpd systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp firewall-cmd --reload
[root@ftp-server ftp]# lftp 172.25.254.100 lftp 172.25.254.100:~> ls
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub ftp服务的基本信息 软件安装包:vsftpd
默认发布目录:/var/ftp 协议接口:21/tcp 服务配置文件:/etc/vsftpd/vsftpd.conf vsftpd是
服务端,lftp是客户端
报错id的解析: 500 ##文件系统权限过大 530 ##用户认证失败 550 ##服务本身功能未开放 553 ##本地文件系统权限过小

具体分析:
<1>将selinux的状态设置为disavbled并利用getenforce查看selinux是否生效,会发现没有立即生效,重启后再次查看,成功生效

[root@sshd_server ~]# vim /etc/sysconfig/selinux
[root@sshd_server ~]# getenforce
[root@sshd_server ~]# reboot
[kiosk@foundation66 Desktop]$ ssh root@172.25.254.123 -X
[root@sshd_server ~]# getenforce

在这里插入图片描述
配置的界面为:
在这里插入图片描述
<2>进入防火墙配置界面并将ftp设置成防火墙无法阻拦
-1-查看防火墙状态使其防火墙开启

[root@sshd_server ~]# systemctl status firewalld

-2-进入防火墙配置界面

[root@sshd_server ~]# firewall-config	

在这里插入图片描述
首先点击Permanent,之后点击public中选择ftp,最后点击options中的reload firewalld更新防火墙的设置
在这里插入图片描述
-3-查看防火墙中ftp服务是否开启了

[root@sshd_server yum.repos.d]# firewall-cmd --list-all

在这里插入图片描述
<3>配置本地yum源

[root@sshd_server ~]# cd /etc/yum.repos.d
[root@sshd_server yum.repos.d]# ls
[root@sshd_server yum.repos.d]# vim rhel_dvd.repo
[root@sshd_server yum.repos.d]# yum clean all	##清除原来的yum缓存信息
[root@sshd_server yum.repos.d]# yum repolist	##列出新的yum源

在这里插入图片描述
在文件中更改的内容为:
在这里插入图片描述
<4>安装vsftpd和lftp软件并开启vsftpd服务

[root@sshd_server yum.repos.d]# yum install vsftpd lftp -y
[root@sshd_server yum.repos.d]# systemctl start vsftpd

在这里插入图片描述
<5>使用真机进行远程连接此虚拟机,发现可以成功读取到虚拟机内的文件

[kiosk@foundation66 Desktop]$ lftp 172.25.254.123
lftp 172.25.254.123:~> ls  
……            
lftp 172.25.254.123:/> quit

在这里插入图片描述
<6>进入虚拟机中切换到/var/ftp目录下,并在此目录下再次建立一个文件名称为westos的文件

[root@sshd_server yum.repos.d]# cd /var/ftp
[root@sshd_server ftp]# ls
[root@sshd_server ftp]# touch westos
[root@sshd_server ftp]# ls

在这里插入图片描述
<7>此时用真机进行查看再次远程连接虚拟机,发生成功读取到改变的虚拟机的文件

[kiosk@foundation66 Desktop]$ lftp 172.25.254.123
lftp 172.25.254.123:~> ls  
……            
lftp 172.25.254.123:/> quit

在这里插入图片描述

3.设置匿名用户和本地用户的登陆

注意:每个实验进行完后,都要将其恢复成初始化,否则有可能会影响实验结果
<1>使其匿名用户不能登陆
-1-编辑vsftpd服务的配置文件并使其生效

[root@sshd_server ~]# vim /etc/vsftpd/vsftpd.conf
[root@sshd_server ~]# systemctl restart vsftpd

在这里插入图片描述
将配置中的文件中anonymous_enable=YES更改成anonymous_enable=NO
在这里插入图片描述
-2-真机用匿名用户登陆并查看,发现可以登陆但无法查看

[kiosk@foundation66 Desktop]$ lftp 172.25.254.123
lftp 172.25.254.123:~> ls              
……                       
lftp 172.25.254.123:~> quit

在这里插入图片描述
-3-真机中用本地用户登陆并查看,发现可以登陆并可以查看

[kiosk@foundation66 Desktop]$ lftp 172.25.254.123 -u student
Password: 
lftp student@172.25.254.123:~> ls      
lftp student@172.25.254.123:~> quit

在这里插入图片描述
<2>使其本地用户不能登陆
-1-编辑vsftpd服务的配置文件并使其生效

[root@sshd_server ~]# vim /etc/vsftpd/vsftpd.conf
[root@sshd_server ~]# systemctl restart vsftpd

在这里插入图片描述
将配置中的文件中local_enable=YES更改成local_enable=NO
在这里插入图片描述
-2-真机用本地用户登陆并查看,发现可以登陆但无法查看

[kiosk@foundation66 Desktop]$ lftp 172.25.254.123 -u student
Password: 
lftp student@172.25.254.123:~> ls      
……                                  
lftp student@172.25.254.123:~> quit

在这里插入图片描述

4.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值