# FTP
# yum 配置
以初始状态的 linux 来进行此次实验
这里我使用 redhat9
- 配置 yum
| name=9-stream_BaseOS |
| enable=1 |
| gpgcheck=0 |
| baseurl=https://mirrors.ustc.edu.cn/centos-stream/9-stream/BaseOS/x86_64/os/ |
| |
| [AppStream] |
| name=9-stream_AppStream |
| enable=1 |
| gpgcheck=0 |
| baseurl=https://mirrors.ustc.edu.cn/centos-stream/9-stream/AppStream/x86_64/os/ |
切记需要备份
- redhat9 关闭订阅
- 由于订阅我感觉下载的时候非常慢,所有我选择关闭它。
| # 修改如下两个配置文件, 将enabled的值改为0 |
| vi /etc/yum/pluginconf.d/product-id.conf |
| vi /etc/yum/pluginconf.d/subscription-manager.conf |
- 清除缓存
- 建立服务器缓存
# FTP 下载
| yum install -y ftp |
| yum install vsftpd |
# 创建共享的文件夹与用户
| # 创建共享的文件夹 |
| mkdir -p /test/ftp |
| touch /test/ftp/100 |
| |
| mkdir -p /test/ftp/B |
| touch /test/ftp/B/200 |
| |
| # 创建ftp用户与密码 |
| useradd fff |
| passwd fff |
| |
| # 给与权限 |
| chown ftp /test/ftp/B |
| chown 6 /test/ftp/B |
# 修改主配置
- 进行备份
| mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak |
- 因为配置中有很多
#
注释的不需要的东西,我们需要用的 grep -v '#'
| grep -v '#' /etc/vsftpd/vsftpd.conf.bak >/etc/vsftpd/vsftpd.conf |
grep -v 或 --invert-match : 显示不包含匹配文本的所有行。
- 修改
vsftpd.conf
| # vsftpd.conf 在 /etc/vsftpd/ |
| cd /etc/vsftpd/ |
| |
| vi vsftpd.conf |
显示如下
| anonymous_enable=YES # 允许匿名用户登录 |
| local_enable=YES # 允许本地(系统)用户登录: |
| write_enable=YES # 允许上传: |
| local_umask=022 # 默认umask |
| dirmessage_enable=YES |
| |
| xferlog_enable=YES # 把传输记录的日志保存到/var/log/vsftpd.log |
| xferlog_file=/var/log/xferlog |
| |
| connect_from_port_20=YES # 使用20号端口传输数据 |
| xferlog_std_format=YES |
| ftpd_banner=Welcome to use my test ftp server. # 欢迎标语 |
| |
| listen=NO # # 以standalone模式在ipv4上运行 |
| listen_ipv6=YES # 不需要监听就注销掉,并修改listen=YES。如果你需要就保持这两行不变。 |
| |
| pam_service_name=vsftpd |
| userlist_enable=YES |
| tcp_wrappers=YES |
| |
| #匿名 需要加的 |
| anon_root=/fhy/test/11 # 匿名登录的目录 |
| anon_upload_enable=YES |
| anon_mkdir_write_enable=YES |
| |
| #本地 需要加的 |
| local_root=/fhy/test |
| chroot_local_user=YES |
| allow_writeable_chroot=YES |
| # 这一步可以省略不做,因为我们做的是本地实验。 |
| |
| # 添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。 |
| local_root=/var/ftp/test |
| allow_writeable_chroot=YES |
| pasv_enable=YES |
| pasv_address=xxx.xx.xxx.xx #请修改为您的Linux云服务器公网IP pasv_min_port=40000 |
| pasv_max_port=45000 |
- 添加例外用户
您若没有设置例外用户的需求,可跳过此步骤
| 执行以下命令,创建并编辑 chroot_list 文件。 |
| |
| vim /etc/vsftpd/chroot_list |
| |
| 按 i 进入编辑模式,输入用户名,一个用户名占据一行 |
| 设置完成后按 Esc 并输入 :wq 保存后退出。 |
# 防火墙放行与安全机制
- 放行 21、20 端口
| iptables -I INPUT -p tcp --dport 61001:62000 -j ACCEPT |
| iptables -I OUTPUT -p tcp --sport 61001:62000 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 20 -j ACCEPT |
| iptables -I OUTPUT -p tcp --sport 20 -j ACCEPT |
| iptables -I INPUT -p tcp --dport 21 -j ACCEPT |
| iptables -I OUTPUT -p tcp --sport 21 -j ACCEPT |
或者你直接关闭防火墙
setenforce 0 # 关闭 linux 安全机制
# 重启 FTP 服务
# dns 指向自己
| 方法一 |
| vim /etc/resolv.conf #进入后修改添加以下 |
| nameserver 192.168.100.10 #自己的IP |
| |
| 方法二 |
| vim /etc/sysconfig/network-script/ifcfg-网卡 |
| DNS1=IP地址 |
| |
| 两种方法,任选一种 |
| 可以有多个DNS服务器,依次按照顺序 |