FTP服务器配置实例(匿名用户、本地用户、虚拟用户)
一、匿名用户
1、要求:
- vsftpd服务器只允许匿名登录
- 匿名用户在根目录下只能下载
- 匿名用户在pub子目录下可以新建、下载、上传、重命名文件(文件夹)
2、过程:
- (1)修改配置文件
- vi /etc/vsftpd/vsftpd.conf
- anonymous_enable=YES
- local_enable=NO
- write_enable=YES
- anon_umask=022
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
- anon_world_readable_only=NO
- systemctl restart vsftpd
- vi /etc/vsftpd/vsftpd.conf
- (2)SELLinux设置
- 设置安全策略:
setsebool -P allow_ftpd_anon_write=1 - 修改安全上下文:
chcon -R -t public_content_rw_t /var/ftp/pub
- 设置安全策略:
- (3)防火墙配置
firewall-cmd --permanent --add-sevices=ftp
二、本地用户
1、要求:
- 允许账号登录FTP服务器,但不能登录本地系统
- 对账号根目录进行限制,不能进入根目录以外的任何目录
2、过程:
- (1)创建用户,并禁止本地登录
- useradd -s /sbin/nologin user
- passwd user
- (2)创建根目录,并赋予其他用户相应权限
- mkdir -p /var/www/html
- chmod o+w /var/www/html
- (3)修改安全上下文,使根目录能够写入
- chcon -t public_content_rw_t /var/www/thml
- chcon -t public_content_rw_t /var/www/thml
- (4)修改配置文件
- anonymous_enable=NO //禁止匿名用户登录
- local_enable=YES //允许本地用户登录
- write_enable=YES
- local_umask=022
- local_root=/var/www/html //设置本地用户的根目录为/var/www/html
- chroot_local_user=YES
- allow_writeable_chroot=YES
- (5)修改SELinux允许本地用户登录
- getsebool -a|grep ftp
- setsebool -P ftp_home_dir=1
- (6)重启vsftpd服务,使配置生效
- systemctl restart vsftpd
- (7)设置防火墙规则
- firewall-cmd --permanent --add-services=ftp
- firewall-cmd --reload
三、虚拟用户
1、要求:
- vuser1只能进行下载
- vuser2能进行下载和上传
- 对下载/上传流量进行控制
2、过程:
- (1)操作虚拟用户列表
- 建立虚拟用户的用户名、密码列表的文本文件
vi /etc/vsftpd/vusers.list
- 用db_load转换工具,将文本文件(上一步所建立的文件)转化为数据库文件
db_load -T -t hash -f vusers.list vusers.d - 修改虚拟用户列表文件及数据库文件访问权限。
chmod 600 /etc/vsftpd/vusers.*
- 建立虚拟用户的用户名、密码列表的文本文件
- (2)创建虚拟用户对应的本地用户
- 禁止他们本地登录
- 设置用户主目录的访问权限
- (3)修改SELinux安全上下文,允许对用户主目录读写
chcon -t public_content_rw_t /var/ftp/teacherdir - (4)建立支持虚拟用户的PAM认证文件
vi /etc/pam.d/vusers.vu
- (5)修改/etc/vsftpd/vsftpd.conf主配置文件
vi /etc/vsftpd/vsftpd.conf- anonymous_enable=NO
- local_enable=YES //使用虚拟用户一定要启用本地用户
- chroot_local_user=YES //将所有本地用户限制在家目录中(需添加)
- guest_enable=YES //启用用户映射功能,允许虚拟用户登录(需添加)
- pam_service_name=vusers.vu //指定对虚拟用户进行PAM认证的文件名vuser.vu
- user_config_dir=/etc/vsftpd/vconfig //指定虚拟用户的配置文件的位置(需添加)
- allow_writeable_chroot=YES
(6)为虚拟用户ftp、techer建立各自独立的配置文件
mkdir /etc/vsftpd/vconfig- ** vuser1**
- vi /etc/vsftpd/vconfig/vuser1
- guest_username=svuser1 //设置ftp对应的本地用户为ftpuser
- local_root=/var/ftp/share //用户登录后所在的目录
- anon_world_readable_only=NO //允许浏览和下载
- anon_max_rate=500000 //限定传输速率为500KB/s
- vuser2
- vi /etc/vsftpd/vconfig/vuser2
- guest_username=svuser2
- local_root=/var/ftp/noshare
- anon_world_readable_only=NO
- write_enable=YES //允许写入
- anon_upload_enable=YES //允许上传
- anon_mkdir_write_enable=YES //允许创建文件夹
- anon_max_rate=1000000 //限定传输速度为1000KB/s
- ** vuser1**
(7)修改SELinux允许本地用户登录和匿名用户具有写入权限
(8)重新加载vsftpd服务,使配置生效
systemctl restart vsftpd
FTP服务器配置实例(匿名用户、本地用户、虚拟用户)相关推荐
- Ubuntu下同时搭建支持匿名、本地、虚拟用户的ftp服务器
最近做助教,需要搭建一个ftp服务器.需求如下:需要一个stu.teacher.admin和匿名用户anon, 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东; ...
- Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)
对于Linux搭建服务器步骤详解:可以基于匿名访问.本地用户访问.虚拟用户访问 FTP服务访问可分为三种 匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可. 本地用户:要求 ...
- ftp服务器 vsftpd搭建和配置以及虚拟用户的设置
tp: File Transfer Protocol应用层协议:tcp, 21/tcpC/S:Client: 程序Server: 程序数据:命令连接:文件管理类命令,始终在线的连接数据连接:数据传输, ...
- Linux服务器架设-FTP服务器配置实例
FTP服务器配置 任务背景: 学院准备搭建FTP服务器,对于所有的学生均以真实账号登录(学号:0800901),允许下载相关信息及学习资料,禁止上传,但操作目录只限于/students下.所有老师也以 ...
- vsftp本地用户,虚拟用户,匿名用户同时工作
vsftpd+mysql 实现本地用户,匿名用户,虚拟用户同时工作 大纲 1.安装vsftpd mysql pam-mysql 2.添加虚拟用户(使用本地数据库和数据库服务器) 3.实现本地用户, ...
- 使用FTP协议的服务,包括匿名用户验证访问,用户验证访问,虚拟用户验证访问等
目录 1.FTP服务概述 2.在服务端安装vsftpd程序 3.基于匿名用户验证访问的 FTP 服务 4.测试匿名 FTP服务 5.基于用户验证访问的FTP服务 6.基于用户验证访问的FTP服务的测试 ...
- redhat AS5 FTP虚拟用户配置(本地数据库方式认证)
1.新建一个文本文件,内容为虚拟用户的账号.密码,奇数行为账号,偶数行为密码: 2.生成数据文件,需要db4-utils*这个软件的支持,默认没有安装,我们这里安装下: 然后使用:db_load -T ...
- FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 首先安装 主配置文件:/etc/vsftpd/vsftpd.co ...
- Linux下如何使用虚拟用户增加FTP的安全性
实验背景: Dreamfire公司由于业务需求,需要架设一台FTP服务器,出于系统稳定和安全等多方面考虑,决定使用RHEL 4作为服务器平台,架设vsftp服务器.其次为了最大限度地保证公司内部RHE ...
最新文章
- datetime类型需要指定长度吗_你真的用对数据库了吗?
- PHP高性能分布式应用服务器框架-SwooleDistributed
- 《树莓派实战秘籍》——2.7 技巧27尝试Occidentalis:为(高级)教育目的的树莓派发行版...
- Ubuntu16.04下CUDA 9.0 + cuDNN v7.0 + tensorflow 1.6.0(GPU)环境搭建
- 第十一期:数据挖掘其实就是为了干这四种事?
- 神奇的css3(2)动画
- C语言排序名单(字典)
- Spring 跨域问题CORS (Cross Origin Resources Share)
- 头条的_signature这个如何_如何彻底防止反编译,dex加密怎么做
- Linux Ext2/Ext3/Ext4文件系统
- springboot集成微信APP支付V3最新版
- ASPICE过程开发
- 微博十年,再次走到十字路口
- wlacm 铲雪车snow 题解
- 人生七年,耗时56年跟拍14个孩子,结局道尽人生残酷真相
- mysql 修改 character_set_database_如何将character_set_database latin1 改为 gbk(转)
- Tensorflow实现进阶的神经网络
- 51单片机12864大液晶屏俄罗斯方块 ROTEUS 和51单片机教程(仿真文件+源代码)
- tenacity -- Python中一个专门用来retry的库
- 嵌入式中的BSP---BSP到底是什么?