arch linux 安装 vsftpd 配置虚拟用户

后面操作会直接基于 yay 操作 自行查找如何安装 yay

公司经常会用到 ftp 服务 不想用 apache 的 ftp server 所以自己在小机器上撞了 arch linux 用来安装软件 跑程序等。

1. 安装 vsftpd

yay vsftpd --noconfirm

选择 1 安装 输入密码
在这里插入图片描述

2. 安装 pam_pwdfile

安装 pam_pwdfile用于验证密码文件

yay pam_pwdfile --noconfirm

选择 1 安装
在这里插入图片描述

3. 修改配置文件

配置文件在 /etc/vsftpd.conf 处

sudo nano /etc/vsftpd.conf

修改为以下内容

# 监听 ipv4
listen=YES
# 监听 ipv6
listen_ipv6=NO
# 关闭匿名登陆
anonymous_enable=NO
# 允许本地登陆 如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
local_enable=YES
# 允许写入文件
write_enable=YES
# 文件权限掩码设置 当前即为 755
local_umask=000
# 不允许匿名上传
#anon_upload_enable=YES
# 不允许匿名创建文件夹
#anon_mkdir_write_enable=YES
# 目录消息
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/xferlog.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_local_user=YES
# 设置不允许离开主目录
chroot_list_enable=YES
# 允许登陆的 ftp 用户列表
chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd
ssl_enable=NO
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf
#pasv_address=172.16.161.244
#开启PASV模式
pasv_enable=YES
#最小端口号
#pasv_min_port=10027
#最大端口号
#pasv_max_port=10037
pasv_promiscuous=YES
allow_writeable_chroot=YES
# ftp 监听端口
listen_port=2121
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES
hide_ids=YES
virtual_use_local_privs=YES
seccomp_sandbox=NO

4. 配置文件

创建文件夹 /etc/vsftpd/vuser_conf 对应配置文件内 user_config_dir 属性

创建 /etc/vsftp/chroot_list 文件,在里面填入自己想要的用户名 我选择 myFtpUser ,如果 chroot_local_user属性没有设置/设置为 NO (默认为NO),则只有该文件内的用户可以登陆

sudo mkdir -p /etc/vsftpd/vuser_conf
sudo bash -c 'echo myFtpUser >> /etc/vsftpd/chroot_list'

创建用户配置
在 vuser_conf 目录下创建用户名的文件

sudo nano /etc/vsftpd/vuser_conf/myFtpUser

填入内容

local_root=/home/robot/data/ftphome
write_enable=YES
anon_umask=000
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

local_root 是 ftp 的根目录所在文件夹
同时创建文件夹 并且更改所有者

sudo mkdir /home/robot/data/ftphome
sudo chown -R ftp:ftp /home/robot/data/ftphome

5. 创建密码

我选择 abcd1234

openssl passwd -1 -noverify abcd1234

得到 $1$vG2IrM5m$mdmBeMXqqnjW7u4exX/190
用户名:密码作为内容创建 vuser_passwd 文件 文件名任意 后面要用,内容如下 由于有特殊符号 还是用 nano 方便~

sudo nano /etc/vsftpd/vuser_passwd
myFtpUser:$1$vG2IrM5m$mdmBeMXqqnjW7u4exX/190

编辑 vsftpd 的 pam 文件

sudo nano /etc/pam.d/vsftpd

将内容删除 或者 都注释(前面加#),然后添加一下内容

auth required pam_pwdfile.so pwdfile /etc/vsftpd/vuser_passwd
account required pam_permit.so

其中就用到了密码文件
在这里插入图片描述

6. 赋权

配置文件目录添加所有可读, ftp 目录的用户目录我直接给了全部权限

sudo chmod a+r -R /etc/vsftpd
sudo chmod 777 -R /home/robot

7. 验证

我使用 filezilla 连接 没有问题
注意端口 和配置文件中的对应 是 2121
请添加图片描述
在这里插入图片描述
有时间再更一篇 vsftpd 配置 ftps 的文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件安装】Windows系统中使用miniserve搭建一个文件服务器

这篇文章,主要介绍如何在Windows系统中使用miniserve搭建一个文件服务器。 目录 一、搭建文件服务器 1.1、下载miniserve 1.2、启动miniserve服务 1.3、指定根目录 1.4、开启访问日志 1.5、指定启动端口 1.6、设置用户认证 1.7、设置界面主题 (…

基于 ARM+FPGA+AD平台的多类型同步信号采集仪开发及试验验证(一)

对工程结构的服役状况进行实时的监测和诊断,及时地发现结构的损伤,评估其安 全性能,预判结构的性能变化趋势与服役期限并提出改进举措,对提高工程结构的使用 效率,保障人民生命财产安全具有极其重要的意义&#xff0…

Instant,LocalDate,LocalTime,LocalDateTime和ZonedDateTime

Instant 封装了从 1970-01-01T00:00:00Z 开始的秒数,相当于时间戳。 主要有两个属性: private final long seconds; private final int nanos;LocalDate 用于表示日期,包括年、月、日,例如 2017-12-03。 主要有三个属性&…

华为终端智能家居应用方案

PLC-IoT概述 华为智能PLC-IoT工业物联网系列通信模块是基于电力线宽带载波技术的产品,实现数据在电力线上双向、高速、稳定的传输,广泛适用于电力、交通、工业制造、智能家居等领域,PLC-IoT通信模块包含头端和尾端两种类型,头端配…

centos怎么禁用和关闭selinux

要禁用和关闭SELinux(Security-Enhanced Linux)在CentOS上,请按照以下步骤进行: 请注意:禁用SELinux会减少系统的安全性,因此只有在确切知道自己在做什么并且出于特定目的时才应该这样做。 1.打开终端并以超级用户(root)身份登录&…

el-table(vue2中)滚动条被固定列盖住

一、项目场景: vue2 el-table 二、问题描述 1、现场图片: 2、全局css环境配置了滚动条高度为6px /* 全局滚动条配置 */ ::-webkit-scrollbar {width: 6px;height: 6px; }::-webkit-scrollbar-track {background-color: #f1f1f1; }::-webkit-scrollbar-…

Java 工具类 列表动态维护

原本需求:一个二级 list 更新功能。 常规实现:先删除原来的全部数据,再重新插入,这样就很耗时了,所以这里写一个工具类出来。 1. 如果有新增的数据:仅对这些数据新增 2. 如果有删除的数据:仅…

STM32F4VGT6-DISCOVERY:uart1驱动

对于这款板子&#xff0c;官方并没有提供串口例程&#xff0c;只能自行添加。 一、PA9/PA10复用成串口1功能不可用 驱动测试代码如下&#xff1a; main.c: #include "main.h" #include <stdio.h>void usart1_init(void) {GPIO_InitTypeDef GPIO_InitStruct…

Cesium 展示——对每段线、点、label做分组实体管理

文章目录 需求分析需求 对多组实体的管理,每组实体中包含多个点和一条线,并可对该组进行删除操作 分析 删除操作中用到了 viewer.entities.remove(radarEntity); 根据ID获取实体var radar = viewer.entities.getById(radar); viewer.entities.remove(radar );

ubuntu 18 更新git版本到 2.80.1

前言 使用gitlab的时候&#xff0c;发现下面这条语句不能用 git init --initial-branch XXX查看git version git version下载 wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.38.1.tar.gz 或者 https://git-scm.com/download/linux 或者去github上面下载…

汇编语言-div指令溢出问题

汇编语言-div指令溢出问题 8086CPU中被除数保存在ax(16位)或ax和dx&#xff08;32位&#xff09;中&#xff0c;如果被除数为16位&#xff0c;进行除法运算时al保存商&#xff0c;ah保存余数。如果被除数为32位时&#xff0c;进行除法运算时&#xff0c;ax保存商&#xff0c;d…

从最简单基本开始 or 把问题复杂化还自诩为“设计了一个可扩展的系统”?

文章目录 Intro程序员“把问题复杂化”的职业病如何抉择 Intro 刚才看了一段关于在苹果系统中使用numbers表格软件制作记账本的视频教程&#xff1a;当 Excel 交给苹果来设计会变成…&#xff1f;#Numbers 新手教学&#xff0c;以下为最终界面效果&#xff1a; 有些触动&…

Python Flask

Python Flask是一个轻量级的web开发框架&#xff0c;用于快速地构建web应用程序。以下是Python Flask的基本使用步骤&#xff1a; 安装Flask&#xff1a;使用pip安装Flask包。在命令行中输入以下命令&#xff1a; pip install flask创建Flask对象&#xff1a;在Python文件中&am…

Spring中简单的获取Bean对象(对象装配)

获取Bean对象也叫做对象装配&#xff0c;是把对象取出来放到某个类中&#xff0c;有时候也叫对象注入&#xff01; 对象装配&#xff08;对象注入&#xff09;更加简单的读取Bean&#xff08;是从Spring容器中读取某个对象放到当前类里面&#xff09;的实现方法有以下3种&…

【iOS】——知乎日报第二周总结

文章目录 一、自定义cell内容乱序问题二、WKWebView加载网页三、通过cell的协议函数进入指定网页四、滚动视图左滑加载新的网页五、隐藏导航栏 一、自定义cell内容乱序问题 当我下拉刷新的时候一开始我自定义的cell的内容顺序没有问题&#xff0c;当我一直下拉刷新或者上滑看以…

mac电脑视频处理推荐:达芬奇DaVinci Resolve Studio 18 中文最新

DaVinci Resolve Studio 18是一款专业的视频编辑、调色和后期制作软件&#xff0c;由Blackmagic Design开发。它被广泛应用于电影、电视和广告等行业&#xff0c;提供了全面的工具和功能&#xff0c;使用户能够进行高质量的影片制作和后期处理。 以下是DaVinci Resolve Studio…

【QML】vscode安装QML格式化插件方法

1. 安装插件 拓展 > 搜索qml > 找到QML Format >点击安装 2. 配置 打开settings.json文件 ctl shift p&#xff0c;然后搜索settings 修改settings.js内容 {...//添加以下内容// 根据自己电脑安装路径来填写qmlformat.exe的路径&#xff0c;注意转义符"\…

数字孪生与智慧城市:开启未来智慧生活

在数字时代的浪潮中&#xff0c;数字孪生技术和智慧城市的理念相互交织&#xff0c;共同塑造了一个更智能、更可持续、更宜居的未来。数字孪生是一项前沿技术&#xff0c;将虚拟世界与现实世界相融合&#xff0c;为城市管理者和市民带来了前所未有的机遇和便捷。 数字孪生模型是…

redis集群中节点fail,noaddr

文章目录 1. 问题&#xff1a;fail,noaddr2. cluster nodes节点信息解读2.1 每个字段的含义2.2 flags字段各标记含义 3. redis集群fail,noaddr问题解决4. cluster指令5. 相关文章(1) redis集群搭建(2) 华为云两台机器内网互联(3) /etc/rc.d/init.d 详解|程序开机自启(4) Redis5…

使用信号管理Nginx的父子进程

Nginx是一个多进程程序&#xff0c;进程之间进行通讯可以使用共享内存和信号等。做进程管理时&#xff0c;只能使用信号。 能够接受命令的有三者&#xff1a; Master进程 Work进程 nginx命令行 Master进程 可以监控Worker进程发来的CHLD信号。 管理worker进程可以接受的命令&a…