阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)

这篇具有很好参考价值的文章主要介绍了阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备前的工作

安装前请确保服务器环境干净,如之前安装过该软件,先删除后再进行下一步操作。

#检测服务器中是否有残留Vsftpd
rpm -qa | grep vsftpd
#存在进行删除
yum remove vsftpd

1.开始安装

yum install -y vsftpd

出现下图代表安装完成!
阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)
软件默认安装在 /etc/vsftpd目录下
阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)

/etc/vsftpd/vsftpd.conf 主配置文件,核心配置文件
/etc/vsftpd/ftpusers 黑名单
/etc/vsftpd/user_list 白名单

2.配置本地用户登录

本地用户登录就是指使用Linux操作系统中的用户账号和密码登录ftp服务器,vsftp安装后默只支持匿名ftp登录,用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝

#创建用户组admin
groupadd admin
#创建用户pandi指定用户组为admin (二选一)
useradd pandi -d /home/ftp -g admin  
#创建不可用于操作系统的用户pandi (二选一)
useradd -g admin -d /home/ftp -s /sbin/nologin pandi
#给这个用户设置密码
passwd pandi
#设置目录权限(根据个人需要配置)
chmod 777 /home/ftp
  1. 密码需要输入两次,输入完密码用户创建完成!

  2. 在这里需要注意上面的二选一,长度短的为可以用创建的用户进行linux系统登录,长度为不可以进行系统登录根据需求选择。

  3. 后面权限配置分为本地用户和虚拟用户,如果我们需要使用本地用户进行权限控制就需要配置可用于系统登录的做法,如使用虚拟账户则创建一个不可用于系统登录的账户是可以的。

  4. 除了本地用户和虚拟用户权限,还有匿名用户访问的方式,这种方式不安全,也最为简单,这里不做讲解。

3.修改配置文件

#是否允许匿名登录FTP服务器
anonymous_enable=NO
#是否允许本地用户
local_enable=YES
#是否允许本地用户对FTP服务器文件具有写权限
write_enable=YES
#设置本地用户的文件掩码为缺省022 文件默认权限为755
local_umask=022
#是否激活目录欢迎信息功能
dirmessage_enable=YES
#是否启动系统维护记录服务器上传和下载情况的日志文件
xferlog_enable=YES
#如果启用此选项,传输日志文件将以标准xferlog的格式书写
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#开启主动模式
#port_enable=YES
#开启主动模式需设置 主动和被动模式只能二选一
#connect_from_port_20=YES
#vsftpd将以独立模式运行,由vsftpd自己监听和处理连接请求
listen=YES
#设定是否支持IPV6
listen_ipv6=NO
#启用虚拟用户
guest_enable=YES
#虚拟用户映系统用户pandi
guest_username=pandi
#虚拟用户和本地用户权限相同
#virtual_use_local_privs=YES
#设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下
pam_service_name=vsftpd
#设置虚拟用户配置文件的保存目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#user_list文件中的用户是否启用
#userlist_enable=NO
#NO表示usre_list文件用于设置只允许登录的用户账号 yes表示禁止这些用户
#userlist_deny=NO
#表明服务器使用tcp_wrappers作为主机访问控制方式
tcp_wrappers=YES
#是否启动限制用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
#chroot_list_enable=NO
#是否将所有用户限制在主目录
chroot_local_user=YES
#是否限制在主目录下的用户名单
#chroot_list_file=/etc/vsftpd/chroot_list
#打开限制用户根目录写权限 否则报500
allow_writeable_chroot=YES
#被动模式公网IP地址
pasv_address=XX.XX.XX.XX
#是否开启被动模式
pasv_enable=YES
#被动模式随机端口最小
pasv_min_port=30000
#被动模式随机端口最大
pasv_max_port=50000
#本地用户登录后的家目录
local_root=/home/ftp/
#配置后可解决一些奇怪的错误
seccomp_sandbox=NO

4.启动项目即可

在此之前需要在云服务器上放开安全组规则
20/21 0.0.0.0
30000/50000 0.0.0.0
客户端和服务器端确保防火墙的关闭或者防火墙的放行

systemctl start vsftpd.service

开始测试,可以使用windows文件管理器测试,或者使用命令行,浏览器的话现在几乎所有主流浏览器均不支持FTP协议,如有特殊需求需要使用浏览器访问,需要安装IE浏览器进行测试。

阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)
阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)

5.本地用户权限设置

本地用户的权限设置需要利用系统中的权限设置来进行用户分组管理

假设有这么一个需求A、B 、C 三个用户为管理员用户对FTP拥有读写执行权限 D、E、F为普通用户只有读的权利

第一步创建A、B 、C 三个用户指定其分组为admin
第二步创建D、E、F 三个用户指定其分组为customer
第三步将/home/ftp目录所有者更改为A\B\C用户中任意一人 权限改为775

参考命令:

#创建分组
groupadd customer
#创建用户指定分组 C为用户名 指定家目录为ftp
useradd -d /home/ftp -g customer C
#给用户设置密码
passwd C
#设置文件夹权限 所有权为A用户和admin组
chown -R A:admin /home/ftp
chmod -R 775 /home/ftp
#查看所有用户组
cat /etc/group

6.虚拟用户权限设置

修改配置文件,必须添加

#虚拟用户映系统用户root 根据需要自己创建必须真实存在的系统用户
guest_username=root
#启用虚拟用户
guest_enable=YES
#认证文件名称
pam_service_name=vsftpd

1.创建虚拟用户,需要多少添加多少

vim /etc/vsftpd/logins.txt

test        #奇数行为用户名
root789     #偶数行为密码
test2
root789

2.生成.db认证文件

db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db

3.生成的认证文件的权限应设置为只对root用户可读可写,即600

chmod  600  /etc/vsftpd/vsftpd_login.db

4.建立虚拟用户所需的PAM配置文件和pam_service_name=vsftpd对应

vim /etc/pam.d/vsftpd

5.加入如下配置

这块需要注意 上面的配置必须写在最上面,否则将导致本地用户和虚拟用户只有一方可以登录,踩过的坑切记。

auth       sufficient   pam_userdb.so db=/etc/vsftpd/vsftpd_login
account    sufficient   pam_userdb.so db=/etc/vsftpd/vsftpd_login

6.重启测试

systemctl restart vsftpd.service

7.权限配置讲解

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

1.设置主配置文件

在vsftpd.conf配置文件中添加user_config_dir配置项,并设置用户配置文件的保存目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf
在上面的配置实例中,设置在/etc/vsftpd/vsftpd_user_conf目录中保存虚拟用户的配置文件

2.建立用户配置文件目录

mkdir  /etc/vsftpd_user_conf

3.为虚拟用户建立单独的配置文件

在vsftpd_user_conf目录中可以为每个虚拟用户建立独立的配置文件,配置文件名称和用户名相同。

命令参数 权限类型
anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES 表示用户可以上传文件
anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权利
anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限

至此vsftpd安装配置彻底完成,可以测试权限等相关配置了

在网上搜了一篇解释权限的很不错,可以参考:文章来源地址https://www.toymoban.com/news/detail-488408.html

  1. 权限控制:virtual_use_local_privs参数
    当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
    当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO; 也就是对自己的新根目录什么权限都没有。
    2. 当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
    3. 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
    4. 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
  2. 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
  3. 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
  4. 当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO, anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

到了这里,关于阿里云LINUX安装vsftpd完整指南(不浪费时间,干货满满)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)

    VSFTPD 实现客户端和服务器之间传输文件 目录 什么是VSFTPD? VSFTPD 的特点和功能 1. 设置和使用FTP服务器的步骤 1. 下载vsftpd包 2. 启动服务 开机自启 3. 关闭防火墙 4. 配置vsftpd服务    常用 配置选项 匿名用户 本地用户 设置进入提示 2.重启vsftpd服务(重点) 3进入 /var/ftp ftp根目

    2024年02月02日
    浏览(47)
  • vsftpd安装配置,Linux系统配置FTP服务器教程(CentOS 7)

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件 。今天飞飞将和你分享 Linux 系统 安装并配置vsftpd ,搭建FTP环境 。 先让我们来认识下FTP! FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式: 主动

    2024年02月09日
    浏览(59)
  • 截图转HTML代码,支持预览,前端不用浪费时间写html和css了

    试用地址:https://picoapps.xyz/free-tools/screenshot-to-code 这个简单的应用可以将截图转换为HTML/Tailwind CSS代码。它使用GPT-4 Vision来生成代码,并使用DALL-E 3来生成类似的图像。现在你也可以输入一个URL来克隆一个现有的网站! NYTimes Original Replica Instagram页面(没有泰勒·斯威夫特的照

    2024年02月04日
    浏览(48)
  • 在Windows运行完整的Linux桌面GUI!Kali on WSL2安装与简单配置指南

    Windows在更新到2004版本之后正式开启了WSL2的支持,这次是完整的运行在HyperV虚拟机中的Linux系统了,可以称之为真正的Linux了,难不成Windows即将成为最好的Linux发行版? 实际体验下来还是可以的,不过小问题不少,爱折腾的同学安排一手,对提高Windows平台下的开发体验还是有

    2024年04月12日
    浏览(37)
  • Win11-RTX4060安装Pytorch-GPU干货避坑指南

    一开始我用Nvidia sim命令查的RTX-4060本地适配版本为CUDA12.0,但到了pytorch官网上才发现稳定本最高才支持11.8,于是又卸了重下,是否能向下兼容请在评论区分享。 Nvidia官网上下载对应的深度神经网络库版本(cudnn11.8)和CUDA Toolkit11.8: 如果没有Nvidia账号的话就创建一个并登录;

    2024年02月08日
    浏览(41)
  • 安装OpenCV:MacOS上的完整指南

    安装OpenCV:MacOS上的完整指南 对于需要在MacOS上使用OpenCV的用户来说,本指南将提供逐步说明。OpenCV是一个强大的图像处理库,可以在许多应用程序中使用,例如计算机视觉、图像处理、机器学习等领域。下面将讲述如何在MacOS上安装OpenCV和相关依赖项。 第一步:安装Homebre

    2024年02月04日
    浏览(30)
  • centos安装MySQL8完整指南

    目录 1. 卸载mariadb 2. 下载 3. 安装 4. 若安装失败、卸载、重新安装 5. 启动 6. 修改密码  7. 设置mysql远程链接 因centos7默认安装了mariadb, 会造成依赖冲突,按下列方式进行卸载:   这个数据源不能用了,我将下载后文件放在了我的资源里。如果还是get不到可以私信我,我看见的

    2023年04月15日
    浏览(74)
  • Linux中如何安装java环境(纯干货无废话)

    下载地址:https://www.oracle.com/java/technologies/downloads/#java8 本篇以jdk1.8.0_171为例 使用 vim /etc/profile ,在文件尾部添加以下代码: 执行这段代码为了让上一步添加的代码生效 恭喜你已经安装好了!

    2024年02月07日
    浏览(33)
  • 【干货】Android系统定制基础篇:第二部分(Launcher3支持键盘切换焦点、开发者模式密码确认、禁止非预装应用安装、配置时间)

    Android Launcher3 默认并不支持键盘操作,无法切换焦点,在一些需要支持键盘或遥控操作的设备中无法使用,因些对 Launcher3 做简单修改,使其支持键盘切换焦点。 在安全性要求比较高的产品中,一般会默认关闭『adb调试』,同时禁止用户打开『adb调试』功能。在Android8.1中默认

    2024年02月10日
    浏览(52)
  • 解决安装Pillow时遇到的问题:一篇完整指南

      目录 学习目标: 学习内容: 学习时间: 学习产出: 什么是Pillow库?它的功能和用途是什么? Pillow库是Python中用于图像处理的开源库,提供了丰富的图像处理功能,如图像读取、保存、裁剪、调整大小、旋转、添加文字等。 它在Python图像处理领域非常重要,被广泛用于图

    2024年02月02日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包