Centos 7.2安装FTP服务并进行相关设置

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: Centos 7.2安装FTP服务并进行相关设置

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

关闭SELINUX

vi /etc/selinux/config

修改为 SELINUX=disabled
在这里插入图片描述

安装vsftpd服务

yum -y install vsftpd

启动
systemctl start vsftpd
设置开机启动
systemctl enable vsftpd

由于刚刚设置了SELINUX,所以需要重启一下

reboot

使用匿名 用户登陆

打开windows的文件管理器
输入 ftp://ftp服务器的IP地址
在这里插入图片描述

匿名用户登陆可创建 修改等权限

修改FTP目录权限

chmod -R 757 /var/ftp/*

在这里插入图片描述

修改/etc/vsftpd/vsftpd.conf文件
修改第29行和33行,去除前面#注释符
anon_upload_enable=YES
anon_mkdir_write_enable=YES
在这里插入图片描述
在末行添加如下代码
anon_other_write_enable=YES 允许匿名用户修改目录名或删除目录在这里插入图片描述

重启ftp

systemctl restart vsftpd

再次使用windows资源管理器进行访问并创建文件夹
在这里插入图片描述

限制用户切换到主目录外

修改第101行和103行,将其前面#注释符去除

chroot_list_enable=YES    启用chroot_list_file设定的文件,限制指定的用户只能访问自己的主目录
chroot_list_file=/etc/vsftpd/chroot_list    指定受chroot控制的用户列表文件

在这里插入图片描述
在/ect/vsftpd/vsftpd.conf末行添加

allow_writeable_chroot=YES    如果用户被限定在其主目录下,且目录有写入权限时,必须添加此项,开启chroot环境下的主目录写入权限

在这里插入图片描述
**创建/etc/vsftpd/chroot_list文件

vi /etc/vsftpd/chroot_list

输入一个用户 这里使用 testuser**
在这里插入图片描述

添加用户并设置用户密码,重启vsftpd服务后,使用 CMD窗口进行用户登陆 如下图
在这里插入图片描述
测试是否能够切换:
在这里插入图片描述
将“chroot_list_enable=YES”配置项修改为“chroot_list_enable= NO”,重启vsftpd,再次进行测试
在这里插入图片描述

使用虚拟用户登陆FTP服务器

1、创建FTP虚拟用户数据库

vi /etc/vsftpd/vuser.list 输入测试用户,格式如下

test1 #username
000000 #password
test2
000000

②调用db_load命令,运行哈希算法对原始文件进行加密运算生成新的db文件
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
在这里插入图片描述
(可选)为安全起见,删除原有的虚拟用户文件

#rm -rf /etc/vsftpd/vuser.list

修改新生成的用户数据文件的权限为root用户读写权限

#chmod 600 /etc/vsftpd/vuser.db

在这里插入图片描述

2、创建FTP根目录以及虚拟用户映射的系统用户

useradd -d /var/ftproot -s /sbin/nologin virtual

在这里插入图片描述
修改其用户组以及其他用户权限

chmod -Rf 755 /var/ftproot/

在这里插入图片描述

3、创建虚拟用户的PAM认证文件
注意:参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。

#vi   /etc/pam.d/vsftpd.vu
auth required pam_userdb.so  db=/etc/vsftpd/vuser
account required pam_userdb.so  db=/etc/vsftpd/vuser

在这里插入图片描述

4、修改vsftpd配置文件,以支持虚拟用户模式

anonymous_enable=NO    禁止匿名开放模式    第12行
local_enable=YES    允许本地用户模式        第16行

在这里插入图片描述
修改/etc/vsftpd/vsftpd.conf文件
修改,加上#注释符

#anon_upload_enable=YES     第29行
#anon_mkdir_write_enable=YES     第33行

在这里插入图片描述
在文件末行修改,添加

guest_enable=YES    开启虚拟用户模式
guest_username=virtual    指定虚拟用户帐号
pam_service_name=vsftpd.vu    指定pam文件     第125行只需要修改不需要添加
allow_writeable_chroot=YES    允许禁锢的FTP根目录可写而不拒绝用户登入请求

在这里插入图片描述

5、赋予虚拟用户权限

mkdir /etc/vsftpd/vusers_dir/ //创建用户独立的权限配置文件存放的目录。

在这里插入图片描述

修改FTP的配置文件 vi /etc/vsftpd/vsftpd.conf //指定用户独立的权限配置文件存放的目录。

在文件末行添加如下内容

user_config_dir=/etc/vsftpd/vusers_dir   

在这里插入图片描述

创建虚拟用户test1的权限配置文件,不输入内容则无任何权限

#touch  /etc/vsftpd/vusers_dir/test1

在这里插入图片描述
创建虚拟用户test2的权限配置文件,并添加上传,创建文件夹,和写入权限

#vi  /etc/vsftpd/vusers_dir/test2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

在这里插入图片描述

重启vsftpd服务

systemctl restart vsftpd

在这里插入图片描述

6、验证虚拟用户登陆,以及权限测试

在windows端打开CMD命令提示符,输入
ftp 192.168.100.20(你的FTP服务器地址)。如下
测试虚拟用户test1

在这里插入图片描述
测试虚拟用户test2
在这里插入图片描述

目录
相关文章
|
5天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
6天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
13天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
44 3
|
2天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
|
Linux 应用服务中间件 nginx
CentOS7 自定义服务
服务配置 服务配置主目录存放路径 # cd /usr/lib/systemd/system 文件内容格式 [Unit]:服务的说明 Description:描述服务 After:在哪些描述服务类别之后启动 [Service]服务运行参数的设...
813 0
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
102 64
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
111 61
|
29天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
65 1
Linux系统之Centos7安装cockpit图形管理界面
|
14天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
28 2