首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
linux(centos7)-----安装 FTP 服务
返回列表
发新帖
linux(centos7)-----安装 FTP 服务
[复制链接]
发表于 2026-2-22 00:16:16
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
linux 安装 FTP 服务
目次
一、先容
二、工作模式
三、体系设置
四、安装方式
五、认证模式
六、小结和排查思绪
一、先容
文件传输协议(File Transfer Protocol,FTP),是一种在互联网中举行文件传输的协议,基于客户端/
服务器
模式,默认使用 20、21 号端口,此中 20 端口是数据端口用于举行数据传输,21 端口为下令端口,用于吸取客户端发出的干系 FTP 下令和参数。FTP 是 C/S 架构,也就是基于客户端/
服务器
的模式,FTP
服务器
是按照 FTP 协议在互联网上提供文件
存储
和访问服务的主机,FTP 客户端则是向服务器发送毗连哀求,以创建数据传输链路的主机。
二、工作模式
FTP 协议工作模式有两种:主动模式和被动模式,此中被动模式是默认的工作模式。
主动模式:FTP 服务器主动向客户端发起毗连哀求。
被动模式:FTP 服务器等待客户端发起毗连哀求。
文件名称作用vsftpd.conf主设置文件ftpusers黑名单vsftpd_conf_migrate.sh迁移脚本user_list用户列表,与 userlist_enable 和 userlist_deny 选项干系
三、体系设置
1、体系底子设置
# 修改主机名为dopele
hostnamectl set-hostname dopele
# 关闭
防火墙
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
# 关闭25端口邮件
systemctl stop postfix
systemctl disable postfix
# 解决ssh连接缓慢问题
sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
sed -i 's/GSS
API
Authentication yes/GSS
API
Authentication no/g' /etc/ssh/sshd_config
sed -i -e '$a ClientAliveInterval 60' /etc/ssh/sshd_config
sed -i -e '$a ClientAliveCountMax 5' /etc/ssh/sshd_config
systemctl restart sshd
# 安装vim telnet 等命令
yum install -y vim net-tools telnet wget
复制
代码
2、关闭 selinux 和
防火墙
# 临时关闭selinux
setenforce 0
# 永久关闭selinux
vim /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled,然后保存退出
# 关闭firewalld
systemctl stop firewalld
复制
代码
3、检察 linux 用户
# 1.查看/etc/passwd文件
cat /etc/passwd
# 2.使用getent命令
getent passwd
# 3.使用compgen命令 compgen -u 查询所有linux用户
compgen -u
复制
代码
四、安装方式
1、yum 在线安装方式
# 查询是有安装ftp
rpm -qa|grep vsftpd
# 卸载 vsftpd
yum remove vsftpd
# yum安装ftp
yum install -y vsftpd
复制代码
2、rpm离线安装方式
# 查询是有安装ftp
rpm -qa|grep vsftpd
# 卸载 vsftpd
yum remove vsftpd
# 下载地址 http://www.rpmfind.net/linux/rpm2html/search.php?query=vsftpd
wget http://www.rpmfind.net/linux/opensuse/distribution/leap/15.5/repo/oss/x86_64/vsftpd-3.0.5-150400.3.3.1.x86_64.rpm
# rpm安装
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
# ftp下载地址 https://developer.aliyun.com/packageSearch
wget https://mirrors.aliyun.com/centos-vault/6.8/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm?spm=a2c6h.13651111.0.0.3f2d2f70Jv3QSP&file=ftp-0.17-54.el6.x86_64.rpm
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
复制代码
3、启动查抄
# 查看
版本
号信息
vsftpd -v
# 查看ftp状态
systemctl status vsftpd.service
# 启动ftp
systemctl start vsftpd.service
# 关闭ftp
systemctl stop vsftpd.service
# 查询端口
ss -anp | grep 21
# 不关闭设置SELinux
getenforce
# 临时关闭开启
setenforce 0/1
# 查看与ftp域相关的策略
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
# 不关闭
防火墙
的情况下
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
复制代码
五、认证模式
1、匿名用户访问设置
参数作用anonymous_enable=YES答应匿名访问模式anon_umask=002匿名用户上传文件的 umask 值anon_upload_enable=YES答应匿名用户上传文件anon_mkdir_write_enable=YES答应匿名用户创建目次anon_mkdir_write_enable=YES答应匿名用户修改目次名称或删除目次5.1.1 编辑设置文件
vim /etc/vsftpd/vsftpd.conf
# 编辑内容如下 其余可以删除
# 允许匿名访问模式
anonymous_enable=YES
# 匿名用户上传文件的umask值
anon_umask=002
# 欢迎语设置
dirmessage_enable=YES
#
日志
文件设置
xferlog_enable=YES
#
日志
文件路径
xferlog_file=/var/log/vsftpd.log
# 指定FTP使用20端口进行数据传输,默认值为YES。
connect_from_port_20=YES
# 将
日志
文件写成xferlog的标准格式
xferlog_std_format=YES
# 与连接相关的设置设 置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默 认值。建议不要更改,有很多与服务器运行相关的
配置
命令,需要在此模式下才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd 服务的管控,
功能
上会受到限制。
listen=NO
listen_ipv6=YES
#使用tcp wrapper来控制主机访问
tcp_wrappers=YES
# 保存
配置
# 允许本地访问模式
local_enable=YES
# 允许本地用户写入访问模式
write_enable=YES
# 本地用户上传文件的umask值
local_umask=022
:wq!
复制代码
原有
配置
文件注释文件较多grep命令匹配出非注释的参数
grep -v "^#" /etc/vsftpd/vsftpd.conf
原有配置文件注释文件较多grep去掉空格输出
egrep -v "^#|^$" /etc/vsftpd/vsftpd.conf
复制代码
5.1.2 重启服务
systemctl restart vsftpd.service
systemctl enable vsftpd.service
复制代码
5.1.3 登录测试 账户名称为 anonymous 暗码空
2、当地访问设置
参数作用local_enable=YES答应当地用户模式write_enable=YES设置可写权限local_umask=022当地用户模式创建文件的 umask 值userlist_enable=YES启动"克制用户名单",名单文件为 ftpuser 和 user_listchroot_local_user=YES用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目次的上级目次。chroot_list_enable=YES在/etc/vsftpd.chroot_list 文件中列出的用户,可以切换到其他目次;未在文件中列出的用户,不能切换到其他目次。chroot_list_file=/etc/vsftpd/chroot_list设置是否启用 chroot_list_file 设置项指定的用户列表文件。默认值为 NO。5.2.1 条件设置创建当地用户和 目次
# 创建ftp访问的目录
mkdir -p /home/dopele
# 为目录添加权限
chmod -R 757 /home/dopele
# 增加用户dopele
useradd dopele -s /bin/bash
# 为用户添
加密
码
echo 123456 | passwd --stdin dopele
# 修改该目录下的所属者为dopele
chown -R dopele /home/dopele
# 创建一个文件测试 地用户访问123.txt
echo "this is ftp" > /home/dopele
复制代码
5.2.2 编辑设置文件
vim /etc/vsftpd/vsftpd.conf
配置文件修改如下
# 不允许匿名用户登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许写入
write_enable=YES
# 设置本地用户登录后的根目录
local_root=/home/dopele/
connect_from_port_20=YES
# 是否将所有用户限制在登录根目录内
chroot_local_user=YES
# 是否锁定用户的chroot
功能
chroot_list_enable=YES
# 设置锁定用户的列表文件
chroot_list_file=/etc/vsftpd/chroot_list
# 保存配置
:wq!
复制代码
5.2.3 进入文件,将被锁定的用户 dopele 参加此中
vim /etc/vsftpd/chroot_list
配置文件添加用户
dopele
# 保存配置
:wq!
复制代码
5.2.4 重启服务
systemctl restart vsftpd.service
复制代码
5.2.5 当地用户访问测试
3、假造用户访问的设置
参数作用guest_enable=YES开启假造用户guest_username=virtual指定假造用户账户allow_writeable_chroot=YES答应对禁固的 ftp 根目次实行写入操纵,而且不拒绝用户的登录哀求pam_service_name=vsftpd.vu指定 PAM 文件,存放在/etc/pam.d/目次下,默认的是 vsftpd 文件5.3.1 条件设置创建假造用户和目次
# 创建用户并不允许shell登陆
useradd user2 -s /sbin/nologin
# 创建ftp访问的目录(这边测试创建了两个)
mkdir -p /home/dopele /var/dopele1
# 创建一个文件测试
echo "this is dopele ftp" > /home/dopele/1.txt
echo "this is dopele1 ftp" > /var/dopele1/2.txt
# 修改该目录下的所属者为dopele
chown dopele /home/dopele /var/dopele1
# 为目录添加权限
chmod -R 755 /home/dopele /var/dopele1
复制代码
5.3.2 创建假造用户的文件
vim /etc/vsftpd/vuser.list
修改内容如下 账户一行 密码一行
dopele
123456
dopele1
123456
复制代码
5.3.3 转化假造用户文件
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
# 若提示没有命令安装即可
yum -y install db4
# 添加文件权限
chmod 600 /etc/vsftpd/vuser.*
复制代码
5.3.4 创建用于用户登录时的 PAM 文件
cd /etc/pam.d/
# 复制一份系统自带的配置
cp -p vsftpd vuser.vu
# 编辑配置添加内容
vim vuser.vu
auth sufficient pam_userdb.so db=/etc/vsftpd/vuser
account sufficient pam_userdb.so db=/etc/vsftpd/vuser
复制代码
5.3.5 修改设置文件
vim /etc/vsftpd/vsftpd.conf
配置文件修改如下
local_enable=YES
# 虚拟用户登录PAM文件
pam_service_name=vuser.vu
guest_enable=YES
# 虚拟用户名
guest_username=dopele
# 虚拟用户配置专用文件路径
user_config_dir=/etc/vsftpd/vconfig
virtual_use_local_privs=YES
复制代码
5.3.6 编辑假造用户设置专用文件
# 创建文件路径
mkdir /etc/vsftpd/vconfig
# 编辑第一个用户文件dopele
vim /etc/vsftpd/vconfig/dopele
# ftp用户目录
local_root=/home/dopel
anon_world_readable_only=YES
write_enable=NO
anon_max_rate=500000
# 编辑第二个用户文件dopele1
# ftp用户目录
local_root=/var/dopele2/
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1000000
复制代码
5.3.7 重启服务
systemctl restart vsftpd.service
复制代码
5.3.8 假造用户访问测试
六、小结和排查思绪
6.1 windows 使用工具大概当地 cmd 下令运行
6.2 linux 必要安装 ftp 下令才华实行
下令资助信息put上传文件get下载文件binary使用二进制举行传输ascii使用 ASCII 码举行传输timeout设置超时时间quit/bye退出verbose体现详细的处置处罚信息mget从远端主机吸取一批文件至本田主机。mput从远端主机上传一批文件至本田主机。6.3 排查思绪
从用户权限、目次权限、网络防火墙、SELinux 服务逐个排查
回复
使用道具
举报
返回列表
浏览过的版块
数据仓库与分析
SAAS
一给
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表