当前位置:网站首页>高效!用虚拟用户搭建FTP工作环境
高效!用虚拟用户搭建FTP工作环境
2022-07-04 12:36:00 【51CTO】

此前,使用vsftp工具来搭建ftp时,我们使用的用户为Linux的系统用户,而当我们的人员过多时,且都需要用各自的账户登录,那么管理起来将会非常地不方便。使用虚拟用户的方式能很好的解决这个问题,不占用系统用户!
1.配置基础环境
关闭seliux
2.安装vsftp
这里需要安装两个模块,分别为vsftpd和db4-utils。
3.修改配置
养成好习惯,修改配置前备份一下配置,以防止后续修改后无法启动时作为参考依据。
修改配置如下:
vim vsftpd.conf
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=yes
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd
local_enable=YES
pasv_enable=YES
# 被动模式,占用5090-6000端口
#listen_port=52221
pasv_min_port=5090
pasv_max_port=6000
#pasv_address=49.235.71.50
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
4.创建虚拟用户账户文件
在文件中填入用户名和密码,其中单行是用户名,双行是密码,比如我设置了两个用户user1和user2,他们两个的密码都是123456:
5.根据虚拟用户账户文件生成虚拟用户配置文件 vsftpd_login.db
6.配置虚拟用户登录认证,注释掉全部内容,新增下面的两行,最终效果如下:
vim /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
7.限制虚拟用户切换主目录
8.创建配置文件目录
10.创建vsftpd用户(与vsftpd.conf 文件中的:guest_username=vsftpd 一致)
10.按用户名为每个用户写配置内容
仅下载权限
上传、下载权限,不能删除、不能重命名
全部权限:可上传、下载、删除和改名
11、重启vsftpd服务
12.允许vsftp防火墙通过
边栏推荐
- 6 分钟看完 BGP 协议。
- 阿里云有奖体验:用PolarDB-X搭建一个高可用系统
- 一文掌握数仓中auto analyze的使用
- Kivy tutorial 08 countdown app implements timer call (tutorial includes source code)
- 面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读
- Global and Chinese market of piston rod 2022-2028: Research Report on technology, participants, trends, market size and share
- 美团·阿里关于多模态召回的应用实践
- C语言:求字符串的长度
- 《天天数学》连载57:二月二十六日
- A taste of node JS (V), detailed explanation of express module
猜你喜欢

DC-5 target

After installing vscode, the program runs (an include error is detected, please update the includepath, which has been solved for this translation unit (waveform curve is disabled) and (the source fil

R language -- readr package reads and writes data

When synchronized encounters this thing, there is a big hole, pay attention!

Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing

ArgMiner:一个用于对论点挖掘数据集进行处理、增强、训练和推理的 PyTorch 的包
![[leetcode] 96 and 95 (how to calculate all legal BST)](/img/d5/788c88064bce6a7c4499017908b3f2.jpg)
[leetcode] 96 and 95 (how to calculate all legal BST)

Fundamentals of container technology

PostgreSQL 9.1 飞升之路

Transformer principle and code elaboration (tensorflow)
随机推荐
「小技巧」给Seurat对象瘦瘦身
When synchronized encounters this thing, there is a big hole, pay attention!
Transformer principle and code elaboration (pytorch)
读《认知觉醒》
美团·阿里关于多模态召回的应用实践
AbstractDispatcherServletInitializer 的实现类为什么可以在初始化Web容器的时候被调用
asp. Core is compatible with both JWT authentication and cookies authentication
DGraph: 大规模动态图数据集
C fonctions linguistiques
C#/VB. Net to add text / image watermarks to PDF documents
使用 NSProxy 实现消息转发
[Yu Yue education] 233 pre school children's language education reference questions in the spring of 2019 of the National Open University
AI 绘画极简教程
Runc hang causes the kubernetes node notready
DVWA range exercise 4
golang 设置goproxy代理的小细节,适用于go module下载超时,阿里云镜像go module下载超时
老掉牙的 synchronized 锁优化,一次给你讲清楚!
Alibaba cloud award winning experience: build a highly available system with polardb-x
C语言:求100-999是7的倍数的回文数
[leetcode] 96 and 95 (how to calculate all legal BST)