当前位置:网站首页>高效!用虚拟用户搭建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防火墙通过
边栏推荐
- PostgreSQL 9.1 飞升之路
- When synchronized encounters this thing, there is a big hole, pay attention!
- Global and Chinese markets for environmental disinfection robots 2022-2028: Research Report on technology, participants, trends, market size and share
- Simple understanding of binary search
- C語言函數
- Peak detection of measured signal
- 阿里云有奖体验:用PolarDB-X搭建一个高可用系统
- AI painting minimalist tutorial
- DVWA range exercise 4
- BackgroundWorker用法示例
猜你喜欢
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
Paper notes ACL 2020 improving event detection via open domain trigger knowledge
CTF竞赛题解之stm32逆向入门
eclipse链接数据库中测试SQL语句删除出现SQL语句语法错误
C語言函數
16.内存使用与分段
Read the BGP agreement in 6 minutes.
Transformer principle and code elaboration (tensorflow)
诸神黄昏时代的对比学习
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
随机推荐
BackgroundWorker用法示例
求解:在oracle中如何用一条语句用delete删除两个表中jack的信息
七、软件包管理
C语言:围圈报号排序问题
Will the concept of "being integrated" become a new inflection point of the information and innovation industry?
Global and Chinese market for naval vessel maintenance 2022-2028: Research Report on technology, participants, trends, market size and share
eclipse链接数据库中测试SQL语句删除出现SQL语句语法错误
Practice of retro SOAP Protocol
WPF双滑块控件以及强制捕获鼠标事件焦点
用fail2ban阻止密码尝试攻
Alibaba cloud award winning experience: build a highly available system with polardb-x
Netgear switch basic configuration command set
【Android Kotlin】lambda的返回语句和匿名函数
面试官:Redis 过期删除策略和内存淘汰策略有什么区别?
一文掌握数仓中auto analyze的使用
How to realize the function of Sub Ledger of applet?
After the game starts, you will be prompted to install HMS core. Click Cancel, and you will not be prompted to install HMS core again (initialization failure returns 907135003)
When synchronized encounters this thing, there is a big hole, pay attention!
asp. Core is compatible with both JWT authentication and cookies authentication
Article download address