vsftpd配置虚拟用户登录的方法
时间:2022-07-27
本文章向大家介绍vsftpd配置虚拟用户登录的方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
yum安装vsftpd
[root@localhost etc]# yum -y install vsftpd</font>
创建虚拟用户和密码
[root@localhost etc]# cd /etc/vsftpd
[root@localhost vsftpd]# vim vuser.list
单行为用户名双行为密码
创建数据库文件
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
提高虚拟用户的安全性
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vuser.*
[root@localhost vsftpd]# ls -lh /etc/vsftpd/vuser.*
-rw-------. 1 root root 12K Dec 25 17:55 /etc/vsftpd/vuser.db
-rw-------. 1 root root 21 Dec 25 17:51 /etc/vsftpd/vuser.list
创建映射账号
[root@localhost vsftpd]# useradd -s /sbin/nologin -d /var/ftproot along
[root@localhost vsftpd]# chmod -R 777 /var/ftproot/
创建PAM认证文件
[root@localhost vsftpd]# cd /etc/pam.d/
[root@localhost pam.d]# ls
chfn fingerprint-auth-ac password-auth-ac remote smtp sudo-i vlock
chsh login polkit-1 runuser smtp.postfix su-l vmtoolsd
config-util other postlogin runuser-l sshd system-auth vsftpd
crond passwd postlogin-ac smartcard-auth su system-auth-ac vsftpd.rpmsave
fingerprint-auth password-auth ppp smartcard-auth-ac sudo systemd-user vsftpd.user
[root@localhost pam.d]# vim vsftpd
修改主配置文件
[root@localhost pam.d]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db vuser.l
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# cat vsftpd.conf | grep -v "^$" | grep -v "^#"
anonymous_enable=NO
allow_writeable_chroot=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/users
guest_enable=YES
guest_username=along
userlist_enable=YES
tcp_wrappers=YES
创建users目录文件并为每一个虚拟用户建立配置文件
[root@localhost vsftpd]# mkdir users
[root@localhost users]# vim cuibo
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_umask=022
local_root=/var/ftproot/admin
[root@localhost users]# vim long
write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_umask=022
local_root=/var/ftproot/admin
增加权限并注释掉ftpusers下的用户
[root@localhost users]# mkdir /var/ftproot/admin
[root@localhost users]# chown -R along.along /var/ftproot/admin/
[root@localhost users]# cd ..
[root@localhost vsftpd]# vim ftpusers
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
关掉防火墙和降低沙盒等级并重启服务
[root@localhost vsftpd]# systemctl stop firewalld
[root@localhost vsftpd]# setenforce 0
[root@localhost vsftpd]# systemctl restart vsftpd
客户端验证和FileZille验证
[root@localhost vsftpd]# ftp 192.168.1.200
Connected to 192.168.1.200 (192.168.1.200).
220 (vsFTPd 3.0.2)
Name (192.168.1.200:root): cuibo
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
总结
以上所述是小编给大家介绍的vsftpd配置虚拟用户登录的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- Singal Page App:使用Knockout和RequireJS创建高度模块化的单页应用引擎背景知识文档结构服务端API准备Require配置与系统配置模块中的工作模块间的工作烂图赏鉴代码送上
- Canvas 图片绕边旋转的小动画
- 探寻ASP.NET MVC鲜为人知的奥秘(3):寻找多语言的最佳实践方式
- 探寻ASP.NET MVC鲜为人知的奥秘(2):与Entity Framework配合,让异步贯穿始终
- Canvas 剪切图片
- 探寻ASP.NET MVC鲜为人知的奥秘(1):对LESS的支持
- Canvas 图片平铺设置
- Canvas 给图形绘制阴影
- State模式的经典应用场景:订单处理(c#实现)场景描述遇到问题解决问题走起
- ASP.NET SignalR 2.0入门指南介绍SignalRSignalR和WebSocket传输和回滚HTML5 传输协议Comet transports传输协议选择过程监测传输指定传输协议连接
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V
- 有趣的算法(三)——Hash算法
- JavaScript中的数据类型
- Logistic回归算法及Python实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php 使用expat方式解析xml文件操作示例
- laravel利用中间件做防非法登录和权限控制示例
- laravel框架中表单请求类型和CSRF防护实例分析
- Yii框架getter与setter方法功能与用法分析
- laravel框架中视图的基本使用方法分析
- laravel5 Eloquent 实现事务方式
- Laravel 微信小程序后端搭建步骤详解
- Laravel使用swoole实现websocket主动消息推送的方法介绍
- Laravel框架Eloquent ORM删除数据操作示例
- PHP常用函数之base64图片上传功能详解
- laravel-admin 实现在指定的相册下添加照片
- Laravel框架Eloquent ORM修改数据操作示例
- PHP常用函数之格式化时间操作示例
- 在phpstudy集成环境下的nginx服务器下配置url重写
- 关于laravel-admin ueditor 集成并解决刷新的问题