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.rhkb.cn/news/173837.html

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

相关文章

【数智化人物展】同方有云联合创始人兼总经理江琦:云计算,引领数智化升级的动能...

江琦 本文由同方有云联合创始人兼总经理江琦投递并参与《2023中国企业数智化转型升级先锋人物》榜单/奖项评选。 数据智能产业创新服务媒体 ——聚焦数智 改变商业 在这个飞速发展的数字时代,我们置身于一个前所未有的机遇与挑战并存的时刻。数字化转型不再仅仅是一…

【音视频|PCM】PCM格式详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

共用体开发案例

有若干个人员的数据,其中有学生和教师。学生的数据中包括:姓名、号码性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求用同一个表格来处理。 #include <stdio.h>struct Person {char name[32];int age;char zhiYe;char addr[32];union {int class;…

测试时间函数

clock():测试时间函数 测试程序开始运行(即从main开始)到执行当前行需要的时间值,单位毫秒.需要引用time.h 例如&#xff1a;需要需要测试输出0~100需要的时间可以用如下代码&#xff1a; #include<stdio.h> #include<time.h>//单位是毫秒 int main() {clock_t c1…

适用于 Mac 或 Windows 的 4 种最佳 JPEG/PNG图片 恢复软件

您的计算机或外部存储驱动器上很可能有大量 JPEG /PNG图片照片&#xff0c;但不知何故&#xff0c;您意识到一些重要的 JPEG /PNG图片文件丢失或被删除&#xff0c;它们对您来说意义重大&#xff0c;您想要找回它们. 4 种最佳 JPEG/PNG图片 恢复软件 要成功执行 JPEG /PNG图片…

[毕设记录]@开题调研:外文博客搬运整理

搜college chatbot 好像比搜 university chatbot能搜出来的东西更多哈哈 我感觉&#xff0c;AI时代&#xff0c;粗看这种博客比较高效的方式是&#xff0c;用翻译插件迅速概览中文&#xff0c;然后复制给gpt让它总结要点&#xff0c;然后再去看重点部分的原文 文章目录 blog1&a…

视频分辨率/帧率/码率选择参考

1. 视频码率与分辨率的参考表 1080&#xff0a;720的分辨率&#xff0c;用5000K左右&#xff1b; 720&#xff0a;576的分辨率&#xff0c;用3500K左右&#xff1b; 640&#xff0a;480的分辨率&#xff0c;用1500K左右。 2. 计算公式 基本算法&#xff1a;码率&#xff08;kb…

CNCC2023

中国工程院院士&#xff0c;之江实验室主任、阿里云创始人王坚&#xff1a;计算驱动的科学发现和科技创新。 国际计算机学会主席雅尼斯约阿尼迪斯(ACM President Yannis Ioannidis)。 电气和电子工程师协会计算机协会主席妮塔帕特尔(IEEE CS President Nita Patel)。 2022 I…

Express框架开发接口之登录与注册API

我们利用nodeexpressmysql开发接口&#xff0c;对数据库数据进行简单增、删、查改等操作。 接口是什么&#xff1f; 接口是 前后端通信的桥梁 简单理解&#xff1a;一个接口就是 服务中的一个路由规则 &#xff0c;根据请求响应结果 接口的英文单词是 API (Application Progra…

Redis(08)| 线程模型

一、redis 的线程模型 redis 内部使用文件事件处理器 file event handler&#xff0c;它是单线程的&#xff0c;所以redis才叫做单线程模型。它采用IO多路复用机制同时监听多个 socket&#xff0c;将产生事件的 socket 压入内存队列中&#xff0c;事件分派器根据 socket 上的事…

测试工程师面试题,这些你有没有遇到过呢?

其实在软件测试领域面试题多余牛毛&#xff0c;采取疯狂刷题的方式确实可以解决不少面试中可能碰到的问题&#xff0c;而且可以学到一些知识。但是&#xff0c;有可能刷的面试题一个都问不到。 如何才能解除上述尴尬&#xff0c;一定要记得不要脱离一个核心目的&#xff1a;找…

redis中的io多线程(线程池)

文章目录 redis多线程模型redis为什么引入I/O多线程I/O多线程模型 源码解析测试设置连接建立数据传输线程调度开启io线程startThreadedIO关闭io线程stopThreadedIO redis多线程模型 redis为什么引入I/O多线程 Redis 的性能瓶颈在网络 IO 的处理上。Redis 是网络 IO 密集型&am…

链表加法与节点交换:数据结构的基础技能

目录 两两交换链表中的节点单链表加一链表加法使用栈实现使用链表反转实现 两两交换链表中的节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点…

ModbusTCP 转 Profinet 主站网关控制汇川伺服驱动器配置案例

ModbusTCP Client 通过 ModbusTCP 控制 Profinet 接口设备&#xff0c;Profinet 接口设备接入 DCS/工控机等 兴达易控ModbusTCP转Profinet主站网关&#xff08;XD-ETHPNM20&#xff09;采用数据映射方式进行工作。 使用设备&#xff1a;兴达易控ModbusTCP 转 Profinet 主站网关…

竞赛 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c…

几个常用的nosql数据库的操作方式

dynamoDB 键 partition key&#xff1a;分区键 定义&#xff1a;分区键是用于分布数据存储的主键&#xff0c;每个项&#xff08;Item&#xff09;在表中都必须有一个唯一的分区键值。 特点&#xff1a; 唯一性&#xff1a;每个分区键值在表中必须是唯一的&#xff0c;这是因为…

闭包通俗解释,Demo(Go Java Python)

闭包的概念 想象一下&#xff0c;你有一个包裹着变量的函数&#xff0c;就像是一个封闭的包裹。这个包裹里有一个变量&#xff0c;而这个函数&#xff08;或包裹&#xff09;本身就是一个完整的单元。当你把这个函数传递给其他地方&#xff0c;就像是把这个包裹传递出去。 这…

Webpack简介及打包演示

Webpack 是一个静态模块打包工具&#xff0c;从入口构建依赖图&#xff0c;打包有关的模块&#xff0c;最后用于展示你的内容 静态模块&#xff1a;编写代码过程中的&#xff0c;html&#xff0c;css&#xff0c; js&#xff0c;图片等固定内容的文件 打包过程&#xff0c;注…

【黑马程序员】mysql进阶再进阶篇笔记

64. 进阶-锁-介绍(Av765670802,P121) 为了应对不同场景 全局锁-所有表 表计锁 一张表 行级锁 一行数据 65. 进阶-锁-全局锁-介绍(Av765670802,P122) 66. 进阶-锁-全局锁-一致性数据备份(Av765670802,P123) 67. 进阶-锁-表级锁-表锁(Av765670802,P124) 读锁、写锁 68. 进阶…

Ansible脚本进阶---playbook

目录 一、playbooks的组成 二、案例 2.1 在webservers主机组中执行一系列任务&#xff0c;包括禁用SELinux、停止防火墙服务、安装httpd软件包、复制配置文件和启动httpd服务。 2.2 在名为dbservers的主机组中创建一个用户组&#xff08;mysql&#xff09;和一个用户&#xf…