ftp 服务
1、ftp的定义
FTP(文件传输协议)是Internet上仍用的最老的网络协议之一,他为系统提供了通过网络与远程服务器进行传输的简单的方法。/var/ftp这意味着远程FTP客户端能以用户anonymous或者ftp身份连接到服务器(不需要密码),并从ftp服务器上的/var/ftp/目录下载文件。
ftp:// 文件传输协议
2、ftp协议提供的软件
在镜像中:vsftpd
3、部署ftp服务
Yum install vsftpd -y(yum源指向要正确 可以直接在镜像中下载vsftpd)
若出现不能下载情况:yum clean all(可能时yum源修改后系统还没有同步过来)
vim /etc/sysconfig/selinux 中SELINUX=disabled 修改完配置后记得一定要reboot一下 否则之后ftp的有些配置文件会出问题 结果出不来 不要将disabled打错 不要漏掉d
Systenctl start vsftpd
Systenctl enable vsftpd
Firewall-cmd --permanent --add-service=ftp
Firewall-cmd --reload(或者选择直接关闭防火墙)
Lftp 172.25.254.183(这里做实验我连接的是我的虚拟机 配置好IP 保证真机与虚拟机的网络畅通)
ftp服务的基本信息
软件安装包vsftpd
默认发布目录: /var/ftp
协议接口: 21/tcp ss去看端口
服务配置文件: /etc/vsftpd/vsftpd.conf
ftp的连接(连接上了之后 ls一下 没有报错 说明连接成功)
4、配置文件里面(匿名用户,本地用户)
ftp服务器配置 默认配置为匿名ftp服务器 仅允许匿名客户端下载 并且禁用所有本地用户,禁止上传
记得每次修改配置文件都要systemctl restart vsftpd一下 使得刚才修改的文件生效
各种报错
550表示服务本身不允许做这样的动作
553 表示目录对你不可写,本地文件系统权限过小
500表示权限太大,文件系统权限太大
530 用户认证失败(密码错误)
Anonyous enable=YES 匿名用户是否可以登陆
Local_enable=NO 本地用户是否可以登陆 (下图所示为匿名用户可以登陆普通用户不可以登陆)
Write_enable=YES|NO(ftp是否对登陆用户可写)
匿名用户上传
Vim /etc/vdftpd/vsftpd.conf
Write_enable=YES
Anon_upload_enable=YES 匿名用户上传文件(上传要上传本地的)
Chgrp ftp /var/ftp/pub
Chmod 775 /var/ftp/pub
匿名用户的默认发布目录为/var/ftp/pub 这里把ftp作为了/var/ftp/pub的附加组 并且给了/var/ftp/pub 775的权限 匿名用户是以ftp这个用户的身份登陆的 这样保证的其他的用户无法在该目录下进行写的操作 保证了安全性
匿名用户家目录修改
Anon_root=/direcotry(如下图所示 把用户的家目录修改为/annie 之前在/annie下建立了westos{1..3}三个文件
匿名用户登录后ls查看确实存在这几个文件 说明配置文件匿名用户家目录修改成功
匿名|普通用户用户上传文件默认权限修改
Anon_umask=xxx 例如是022 因为系统还有一个预留权限是111 故这时上传文件的权限应该变为644(匿名)
local_umask=077 这时上传文件的权限应该是600 (普通用户)
Anon_mkdir_write_enable=YES|NO(匿名用户建立目录)
Anon_world_readable_only=YES|NO(设定参数值为no表示 匿名用户下载 这个较为特殊)
Anon_other_write_enable=YES|NO(匿名用户的删除)
匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=studnet
之后匿名用户登录出现的是在student的家目录里面
最大上传速率
Anon_max_rate=2048000(2M/s)
先制作一个2G的文件
没有限速情况下的上传速度
限速为2M每秒之后
max_clients=2 最大链接数 最多能由几个用户通过lftp来进行连接
限制本地用户浏览所有目录
将所有用户锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
如下图所示 本地用户登录可以到处乱看 这就十分不安全 所以需要进行用户家目录的锁定 使其只能在自己的家目录中待着 哪里也不能去和看 同时-w 则无法对家目录的任何内容进行修改
用户黑名单的建立
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 用户临时黑名单
Ftpusers永久的黑名单
/etc/vsftpd/vsftpd.conf
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list 参数设定 此名单变成白名单 只在名单中出现的才能登录ftp
Userlist_enable是生效这个文件
。。。。。——deny是将这个文件的作用发生反转