【Linux】FTP服务器配置

FTP服务器配置

一、实验环境:

一台安装了centos7的虚拟机(ftp服务器)、一台安装了windows系统/centos系统的机器(客户端),保持联通。本实验示例采用vmnet8的方式搭建拓扑。

二、实验配置步骤:

1、安装并开启ftp服务

#yum install --y vsftpd -----在线安装

#rpm --qa | grep vsftpd -----检测是否安装成功

#systemctl start vsftpd -----开启ftp服务器

#systemctl stop vsftpd -----停止ftp服务

#systemctl restart vsftpd -----重启ftp服务

vsftpd.conf文件备份

mv vsftpd.conf vsftpd.conf.bak

文件过滤掉注释并重新写入

cat vsftpd.conf.bak | grep -v '#' > vsftpd.conf

关闭防火墙 systemctl stop firewalld

关闭selinux: setenforce 0

或vi /etc/selinux/config enforcing=disabled

2、匿名用户访问ftp服务器

vi /etc/vsftpd/vsftpd.conf

ftp_username=ftp

no_anon_password=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=NO

测试:

systemctl restart vsftpd

ftp://服务器IP

更改用户权限(允许创建目录但权限不够,故更改权限)后则可以新建成功文件和文件夹,也可以上传下载,但不可以重命名和删除。

若将anon_other_write_enable=YES,则可以重命名和删除

3、本地用户访问ftp服务器

(1)基本配置,保证普通用户和root用户的正常登录

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

另:删除匿名用户的其它配置,否则会影响其他操作。6dd

systemctl restart vsftpd

①此时可已经可以使用本地的用户账号密码进行登录。
②如果使用root账号登录,需要删除ftpuser和user_list文件中的root账号;

vi /etc/vsftpd/ftpusers

vi /etc/vsftpd/user_list

(2)锁定用户家目录

useradd zhangsan -g ftp

useradd lisi -g ftp

passwd zhangsan

passwd anlisi

systemctl restart vsftpd

先恢复ftpuser和user_list文件中的root账号

vi /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES 设置是否启用chroot_list_file配置项中指定的文件

chroot_local_user=YES 用于指定用户列表文件中的用户,是否允许切换到上级目录。

chroot_list_file=/etc/vsftpd/chroot_list

vi /etc/vsftpd/chroot_list

systemctl restart vsftpd

liyan不能切换目录,但zhangsan可以切换目录


(3)不同用户拥有不同权限

注意:userdel zhangsan,userdel lisi

useradd zhangsan -r -m -g ftp -d /var/ftp/zhangsan

useradd lisi -r -m -g ftp -d /var/ftp/lisi

删除锁定的用户家目录

添加一条命令:

vi /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconfig

通过在mkdir /etc/vsftpd/userconfig 创建一个userconfig目录,在目录里面创建不同用户的设置文件,如:

cd /etc/vsftpd/userconfig

touch liyan zhangjie

(a)vi /etc/vsftpd/userconfig/zhangsan --用户zhangsan配置文件

或直接vi zhangsan

local_root=/var/ftp/zhangsan

write_enable=no ---没有写权限

(b) vi /etc/vsftpd/userconfig/lisi --用户lisi配置文件

或直接vi lisi

local_root=/var/ftp/lisi

download_enable=no ---没有下载权限

添加测试文件

重启服务systemctl restart vsftpd

测试

zhangsan没有写权限,有下载权限

lisi没有下载权限,可以写入

相关推荐
程序员佳佳7 分钟前
2025年大模型终极横评:GPT-5.2、Banana Pro与DeepSeek V3.2实战硬核比拼(附统一接入方案)
服务器·数据库·人工智能·python·gpt·api
( •̀∀•́ )92016 分钟前
GitHub Actions SSH 部署密钥
运维·ssh·github
louqle31 分钟前
docker基本知识及常用命令汇总
运维·docker·容器
刘某的Cloud40 分钟前
列表、元组、字典、集合-组合数据类型
linux·开发语言·python
学烹饪的小胡桃1 小时前
【运维学习】实时性能监控工具 WGCLOUD v3.6.2 更新介绍
linux·运维·服务器·学习·工单系统
北邮刘老师1 小时前
【智能体互联协议解析】需要“智能体名字系统”(ANS)吗?
网络·人工智能·大模型·智能体·智能体互联网
知识分享小能手1 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的桌面环境 (4)
linux·学习·ubuntu
叫致寒吧1 小时前
Docker
运维·docker·容器
Lueeee.1 小时前
图解字符驱动模块设计思路
linux
白露与泡影2 小时前
使用systemd,把服务装进 Linux 心脏里~
linux·运维·python