# FTP

# yum 配置

以初始状态的 linux 来进行此次实验
这里我使用 redhat9

  1. 配置 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/

切记需要备份

  1. redhat9 关闭订阅
    • 由于订阅我感觉下载的时候非常慢,所有我选择关闭它。
# 修改如下两个配置文件, 将enabled的值改为0
vi /etc/yum/pluginconf.d/product-id.conf
vi /etc/yum/pluginconf.d/subscription-manager.conf
  1. 清除缓存
    • yum clean all
  2. 建立服务器缓存
    • yum makecache

# 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

# 修改主配置

  1. 进行备份
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  1. 因为配置中有很多 # 注释的不需要的东西,我们需要用的 grep -v '#'
grep -v '#' /etc/vsftpd/vsftpd.conf.bak >/etc/vsftpd/vsftpd.conf

grep -v 或 --invert-match : 显示不包含匹配文本的所有行。

  1. 修改 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
  1. 添加例外用户

您若没有设置例外用户的需求,可跳过此步骤

执行以下命令,创建并编辑 chroot_list 文件。
vim /etc/vsftpd/chroot_list
按 i 进入编辑模式,输入用户名,一个用户名占据一行
设置完成后按 Esc 并输入 :wq 保存后退出。

# 防火墙放行与安全机制

  1. 放行 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
  1. 或者你直接关闭防火墙

  2. setenforce 0 # 关闭 linux 安全机制

# 重启 FTP 服务

systemctl restart vsftpd

# dns 指向自己

方法一
vim /etc/resolv.conf #进入后修改添加以下
nameserver 192.168.100.10 #自己的IP
方法二
vim /etc/sysconfig/network-script/ifcfg-网卡
DNS1=IP地址
两种方法,任选一种
可以有多个DNS服务器,依次按照顺序

# 验证省略

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

𝙍𝙥𝙒𝙣 微信支付

微信支付

𝙍𝙥𝙒𝙣 支付宝

支付宝

𝙍𝙥𝙒𝙣 贝宝

贝宝