博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于ftp服务
阅读量:3965 次
发布时间:2019-05-24

本文共 3084 字,大约阅读时间需要 10 分钟。

需要知道

ftp(文件传输协议):属于TCP/IP协议组的之一,包括两个组成部分:FTP服务器与FTP客户端,FTP服务器用来存储文件,用户通过使用FTP客户端通过FTP协议访问位于FTP服务器上的资源,默认情况下FTP协议使用TCP的20和21端口。20传输数据,21用于传输控制,是否采用20端口为数据传输端口与FTP的传输模式有关,采用主动模式,为20,被动模式,使用哪个端口要服务器和客户端协商决定

ftp服务的基本信息

软件安装包 vsftpd
/var/ftp 默认发布目录
默认发布的子目录 /var/ftp/pub
默认协议接口 21/tcp
服务配置文件 /etc/vsftpd/vsftpd.conf

有关报错参数

500 文件权限过大(权力过大)
530 用户认证登陆失败
553 本地文件系统权限过小(权力过小)
550 服务本身功能未开放

有关用户分类

匿名用户 没有设置名字的用户
本地用户 设置名字及密码
虚拟用户 虚拟创出来的用户,在配置文件里设置用户和密码

步骤

一、搭建新的环境
1.选择一个虚拟机重置配置网络:
cd /etc/sysconfig/network-scripts
加入IPADDR NETMASK BOOTPROTO=none重启网络 看是否配置成功
2.修改主机名字

hostnamectl set-hostname ftp server

3.看yum 源:

cd /etc/yum,repos.dlsyum clean allyum repolist

4.配置yum源

使用的是老师的网络源
5.查看selinux状态:
getenforce (保证为Disable状态)
在这里插入图片描述
配置文件 vim /etc/sysconfig/selinux(每次修改要重启虚拟机reboot)

在这里插入图片描述

在这里插入图片描述

二、配置安装ftp过程:
1.利用yum源下载安装vsftpd:
yum install vsftpd

在这里插入图片描述

2.开启服务:systemctl start vsftpd
systemctl enable vsftpd(设置开机自启)
在这里插入图片描述
在这里插入图片描述

3.在防火墙里添加ftp服务:

命令:

firewall-cmd --permanent --add-service=ftp

加载 firewall-cmd --reload

在这里插入图片描述
图形:firewall-config
4.测试是否配置成功:lftp 172.25.254.xx
在这里插入图片描述
ftp相关配置
1.vim /etc/vsftpd/vsftpd.conf每次设置后都要重启
2.创建两个账户: useradd xxx

passwd xxx

三、有关匿名用户的相关配置

vim /etc/vsftpd/vsftpd.conf每次设置后都要重启

1.匿名用户登陆限制anonymous_enable=YES(匿名用户是否可以登陆)表示匿名用户可以访问,no的话说明不能访问

在这里插入图片描述
在这里插入图片描述
2.匿名用户上传write_enable=YES anon_upload_enable=YES
在这里插入图片描述

更改组别:chgrp ftp /var/ftp/pub

给定权限chmod 775 /var/ftp/pub
在这里插入图片描述
进入到pub
上传 put /etc/passwd/
在这里插入图片描述
3. 匿名用户家目录的修改
/1、首先保证有目标目录 mkdir /haha
在这里插入图片描述
/2.修改配置文件

anon_root=/haha

在这里插入图片描述验证:

在这里插入图片描述

4.匿名用户上传文件默认权限修改anon_umask=xxx
未修改之前;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.匿名用户建立目录:anon_mkdir_write_enable=YES
在这里插入图片描述修改之后:

在这里插入图片描述

6.匿名用户是否可以删除和重命名anon_other_write_enable=YES

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.匿名用户下载anon_world_readable_only=YES|NO(设定为no 时可以下载)
在这里插入图片描述
修改后:
在这里插入图片描述
8.匿名用户家目录的修改

anon_root=/westos

9.匿名用户上传文件默认权限修改anon_umask=022

10.匿名用户使用的用户身份修改

chown_uploads=YESchown_username=student

11.最大上传速率anon_max_rate=102400

dd if=/dev/zero of=/mnt/bigfile bs=1M count=1500

12.最大链接个数max_clients=2(用三个去连接尝试)

在这里插入图片描述
四、本地用户的相关配置
1.本地用户是否可以登陆local_enable=YES|NO (本地用户是否可以登陆)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.write_enable=YES|NO (ftp是否对登陆用户可写)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述3.
本地用户家目录修改local_root=/student
在这里插入图片描述
在这里插入图片描述
4.本地用户上传文件权限local_umask=xxx
在这里插入图片描述

在这里插入图片描述

5.限制本地用户浏览根目录chroot_local_user=YES
chmod u-w /home/*
在这里插入图片描述
在这里插入图片描述

6.本地用户白名单建立

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.本地用户黑名单建立chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改后:
在这里插入图片描述

8.限制本地用户登陆

用户黑名单vim /etc/vsftpd/ftpusers
用户临时黑名单vim /etc/vsftpd/user_list
在这里插入图片描述
在这里插入图片描述
用户白名单设定userlist_deny=NO

vim /etc/vsftpd/user_list

在这里插入图片描述

用户黑名单设定userlist_deny=YES

vim /etc/vsftpd/user_list

五、ftp虚拟用户的设定

  1. vim /etc/vsftpd/xxxx

    在这里插入图片描述
    在这里插入图片描述
    2.设密

    db_load -T -t hash -f /etc/vsftpd/xxxxx

在这里插入图片描述

2. vim /etc/pam.d/westos
在这里插入图片描述
在这里插入图片描述
4.编辑配置文件:vim /etc/vsftpd/vsftpd.conf
必须注释掉userlist_deny
在这里插入图片描述
5.验证
在这里插入图片描述
虚拟用户帐号身份制定guest_username=westos
加权限: chmod u-w /home/westos
在这里插入图片描述
1.进入配置文件 vim /etc/vsftpd/vsftpd.conf
编辑 local_root=/ftphome/$USER

user_sub_token=$USER mkdir /ftphome/user1/user1dir -pmkdir /ftphome/user2/user2dir -p另一种方式:

在这里插入图片描述

虚拟帐号配置独立

1.chgrp ftp /ftphome -R

ll /ftphome/ftpuser*chmod 775 /ftphome/ftpuser1/user1dirchmod 775 /ftphome/ftpuser2/user2dir

在这里插入图片描述

  1. vim/etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/userconf

在这里插入图片描述

4. mkdir -p /etc/vsftpd/userconf
在这里插入图片描述

5.vim /etc/vsftpd/userconf/user1

试着加入参数,此文件的优先级高anon_upload_enable=YES
在这里插入图片描述

转载地址:http://zlwki.baihongyu.com/

你可能感兴趣的文章
Linux提权获取敏感信息方法
查看>>
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>
Ubuntu 更换国内源
查看>>
Ubuntu16.04下Docker pull connection refused 解决办法
查看>>
postgres基本操作(个人总结版)
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>
《Linux内核设计与实现》- Linux的进程
查看>>
inet_ntoa()
查看>>
POSIX消息队列mq_open问题
查看>>
用户态切换到内核态的3种方式
查看>>
笔试常见的智力题(附答案)
查看>>
内核库函数
查看>>
Linux 系统内核空间与用户空间通信的实现与分析
查看>>
如何写好应用型学术论文
查看>>
如何查看进程的各种限制
查看>>
64位int类型用printf输出问题
查看>>
网络后台开发面试题目
查看>>
进程的状态转换
查看>>
如何查看进程的信息(线程数)
查看>>