针对匿名用户ftp服务的一些设定

vsftpd服务

做实验前的一些准备工作:
检查selinux这个文件,将它的值改为disabled,检查yum源。
这里写图片描述

针对匿名用户ftp服务的一些设定_第1张图片

1.什么是 ftp

ftp://  ##文件传输协议
FTP 是File Transfer Protocol(文件传输协议)的英文简称,用于Internet上的控制文件的双向传输。FTP 协议允许在使用不同文件系统的主机之间进行数据传送
lftp是一个功能强大的下载工具
 文件上传下载操作:
     单个文件:
     上传: put 文件名
     下载: get 文件名
    多个文件:
     上传多个文件(支持通配符):mput 文件名1 文件名2
     下载多个文件(支持通配符):mget 文件名1 文件名2
    整个目录:
     上传文件夹:mirror -R 文件夹名
     下载文件夹:mirror 下载文件夹存放到本地目录的位置

2 ftp协议提供的软件

在rhel7中:  vsftpd

3 部署 ftp 服务

yum install vsftpd  -y      ##安装ftp服务
systemctl start vsftpd      ##开启ftp服务
systemctl stop firewalld    ##关闭防火墙
systemctl enable vsftpd     ##开机自动启动ftp服务
lftp ip                     ##能登陆并且显示,表示安装成功

这里写图片描述

4 ftp服务的基本信息

软件安装包:   vsftp
默认发布目录: /var/ftp
协议借口:     21 
怎么看一个服务的接口:
服务配置文件: /etc/vsftpd/vsftpd.conf
报错id的解析:
    530   密码错了
    550   权限不够 服务本身不允许
    553   本地文件系统对你不可写
    500   文件系统权限太大   /var/ftp 权限不能为777 

5 配置文件

vim /etc/vsftpd/vsftpd.conf  ##编辑配置文件
systemctl restart vsftpd     ##重启服务,使更改后的配置文件生效

5.1 匿名用户设定

<匿名用户是否可以登陆>

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

首先我们先编辑配置文件,大约在12行,我们将这个匿名用户登陆权限改成NO
这里写图片描述
我们去用匿名用户测试,结果证明匿名用户不能使用ftp服务。
这里写图片描述

作完实验后我们需要将匿名用户权限改回YES,因为后面需要用匿名用户实验,所以匿名用户是要能访问ftp服务才可以。
这里写图片描述

<本地用户>

local_enable=YES|NO         ##本地用户是否可以登陆
write_enable=YES|NO         ##ftp是否对登陆用户可写

我们修改配置文件如下: wq保存退出。更改完成记得重启ftp服务
这里写图片描述
我们用本地用户测试,测试发现本地用户是可以访问ftp服务的。
这里写图片描述
我们在student用户的家目录里创建一个studentfile文件,然后再用student身份去访问ftp服务,发现我们刚进去的地方有我们刚刚建立的studentfile文件。这就说明,我们使用student身份去访问ftp服务的入口为student的家目录。
针对匿名用户ftp服务的一些设定_第2张图片

这里写图片描述

<匿名用户上传>

vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

默认是不允许匿名用户上传文件的。550报错为服务本身不允许。
针对匿名用户ftp服务的一些设定_第3张图片
修改配置文件如下,然后重启服务
这里写图片描述
这里写图片描述
这个时候我们使用上传文件,还是不可以,553表示文件权限不够。
针对匿名用户ftp服务的一些设定_第4张图片
于是我们去修改一下/var/ftp/pub这个目录的权限,这样我们就可以在这个目录下建立文件了。记得一定是/var/ftp/pub这个目录,不能给/var/ftp加777的权限。
针对匿名用户ftp服务的一些设定_第5张图片

针对匿名用户ftp服务的一些设定_第6张图片
记得一定是/var/ftp/pub这个目录,不能给/var/ftp加777的权限。否则会报错500,权限过大。记得将权限改回去。
这里写图片描述

这里写图片描述

这里写图片描述
我们发现建立出来的文件的属主id为14,属组id为50,而我们的ftp用户id刚好是这样,所以我们在用匿名用户建立文件时,身份为ftp用户,那么我们就可以将/var/ftp/pub目录的权限改为775,目录组改为ftp,这样就可以正常建立文件了。
针对匿名用户ftp服务的一些设定_第7张图片

<匿名用户家目录修改>

anon_root=/direcotry

修改配置文件,在配置文件中加入这一行,然后保存退出。我们去创建出来这个目录,然后在目录里面创建了文件。当我们用匿名用户登陆的时候,在其家目录里面发现了上面建立的文件。这就说明他的家目录就是我们指定的地方。
这里写图片描述

针对匿名用户ftp服务的一些设定_第8张图片

针对匿名用户ftp服务的一些设定_第9张图片
这个参数在我们作完实验后注释掉。不要影响到后面的实验
这里写图片描述

<匿名用户上传文件默认权限修改>

anon_umask=xxx

这里给的umask=022,那么建立出来的文件的权限应该为777-111-022=644。结果如下图:group是我们新建出来的文件,权限为644。
这里写图片描述

针对匿名用户ftp服务的一些设定_第10张图片

<匿名用户建立目录>

anon_mkdir_write_enable=YES|NO

这里写图片描述

针对匿名用户ftp服务的一些设定_第11张图片

<匿名用户下载>

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

用get下在文件,下在下来的文件将会保存在当前路径下。
这里写图片描述

针对匿名用户ftp服务的一些设定_第12张图片

<匿名用户删除>

anon_other_write_enable=YES|NO  

默认情况下匿名用户是不能删除文件的
针对匿名用户ftp服务的一些设定_第13张图片
修改配置文件,重启服务使其生效,然后就可以删除了。
这里写图片描述
针对匿名用户ftp服务的一些设定_第14张图片

<匿名用户使用的用户身份修改>

chown_uploads=YES
chown_username=student

我们在/pub目录下新建了个文件group,查看可知属主id为1004,student的id刚好为1004。
这里写图片描述

针对匿名用户ftp服务的一些设定_第15张图片

这里写图片描述

<最大上传速率>

anon_max_rate=2048000

这里写图片描述

针对匿名用户ftp服务的一些设定_第16张图片

<最大链接数>

max_clients=1

这里写图片描述

针对匿名用户ftp服务的一些设定_第17张图片
作完实验,请将这些参数注释掉,不要影响以后的使用。
这里写图片描述

5.2本地用户设定

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

<本地用户家目录修改>

local_root=/directory

修改配置文件,重启服务生效,我们指定本地用户的家目录为/westos这个目录,我们可以看见这个目录下有三个文件。当我们用student用户访问ftp服务的时候,他的家目录下有这三个文件,说明它的家目录为/westos。
这里写图片描述

这里写图片描述

针对匿名用户ftp服务的一些设定_第18张图片

<本地用户上传文件权限>

local_umask=000

修改配置文件,将上一例的家目录注释,重启服务。我们用student用户新建passwd文件时,他的权限为777-111-000=666。同样的作完实验,将权限改回022。
这里写图片描述

针对匿名用户ftp服务的一些设定_第19张图片

<限制本地用户浏览/目录>

所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

这是未限制之前student可以看到的:
针对匿名用户ftp服务的一些设定_第20张图片
修改完配置文件还有文件权限后,student用户不能访问到/下面的东西了:
这里写图片描述

针对匿名用户ftp服务的一些设定_第21张图片

用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

我们将student用户写入黑名单,student用户就被锁在了自己的家目录中,而黑名单外的xixi,就可以访问到/目录下面的文件。
针对匿名用户ftp服务的一些设定_第22张图片

这里写图片描述

针对匿名用户ftp服务的一些设定_第23张图片

用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

同样的,我们将student用户放在名单中,不过此时,名单已经变成了白名单。那么只有白名单中的用户可以跳出家目录,其他用户都被锁到了自己的家目录中。
这里写图片描述

针对匿名用户ftp服务的一些设定_第24张图片

<限制本地用户登陆>

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

这里写图片描述

这里写图片描述

用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list           ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

这里写图片描述

这里写图片描述

你可能感兴趣的:(运维初级)