centos7-vsftp(虚拟用户)
要求如下:
1、所有用户主目录为/var/www宿主为virtual用户;
2、ftpuser1用户只能下载不能上传以及删除文件重命名操作;
3、ftpuser2可以下载与上传文件以及删除重命名操作;
4、ftpadmin可以下载与上传文件以及删除重命名操作,上传文件的umask为022;
本机ip:192.168.1.3
anonymous_enable=NO -------------------#是否开启匿名用户,匿名都不安全,不要开
local_enable=YES ------------------ #允许本机账号登录FTP
write_enable=YES ------------------ #允许账号都有写操作
local_umask=022------------------ #意思是指:文件目录权限:777-022=755,文件权限:666-022=644,这有点反人类了,并且没有人跟我说是减去的。注意理解!
#anon_upload_enable=YES ------------------ #匿名用户是否有上传文件的功能,不要开
#anon_mkdir_write_enable=YES------------------ #匿名用户是否有创建文件夹的功能,不要开
dirmessage_enable=YES ------------------ #进入某个目录的时候,是否在客户端提示一下
xferlog_enable=YES------------------ #日志记录
connect_from_port_20=YES------------------ #开放port模式的20端口的连接
#chown_uploads=YES------------------ #允许没人认领的文件上传的时候,更改掉所属用chown_uploads=YES的前提下,所属的用户
#xferlog_file=/var/log/xferlog ------------------#日志存放的地方
xferlog_std_format=YES ------------------ #日志成为std格式
#idle_session_timeout=600 ------------------ #用户无操作服务器会主动断开连接,单位秒
#data_connection_timeout=120 ------------------ #数据连接超时
#nopriv_user=ftpsecure------------------ #以 ftpsecure 作为此一服务执行者的权限。因为ftpsecure 的权限相当的低,因此即使被入侵,入侵者仅能取得nobody 的权限喔!
#async_abor_enable=YES------------------ #异步停用,由客户发起
#ascii_upload_enable=YES------------------ #使用ascii格式上传文件
#ascii_download_enable=YES------------------ #使用ascii格式下载文件
#ftpd_banner=Welcome to blah FTP service------------------ #欢迎词
#deny_email_enable=YES------------------ #以anonymous用户登录时候,是否禁止掉名单中的emaill密码。
#banned_email_file=/etc/vsftpd/banned_emails------------------ #以anonymous用户登录时候,所禁止emaill密码名单。
chroot_local_user=YES ------------------ #限制用户只能在自己的目录活动
#chroot_list_enable=YES ------------------ #例外名单,如果是YES的话,这个有点怪,不懂别乱开,上面的选项会跟这个名单反调(会被上面的选项影响)。
#chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=NO ------------------ #是否允许使用ls -R等命令
listen=YES ------------------ #监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务。
#listen_ipv6=YES------------------ #监听ipv6端口,还没普及呢!
pam_service_name=vsftpd------------------ #pam模块的名称,放置在 /etc/pam.d/vsftpd ,认证用
userlist_enable=YES------------------ #使用允许登录的名单
userlist_deny=NO ------------------ #限制允许登录的名单,前提是userlist_enable=YES,其实这里有点怪~!
allow_writeable_chroot=YES------------------ #允许限制在自己的目录活动的用户 拥有写权限
tcp_wrappers=YES------------------ #Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性。
user_config_dir=/etc/vsftpd/userconfig------------------ #主目录配置,修改后到这个目录中在修改用户配置
pasv_min_port=6000 (0为随机分配)
pasv_max_port=6010(这两项定义了可以同时执行下载链接的数量。)
------------------#被动模式端口范围:注意:linux客户端默认使用被动模式,windows 客户端默认使用主动模式。在ftp客户端中执行"passive"来切换数据通道的模式。也可以使用"ftp -A ip"直接使用主动模式。主动模式、被动模式是有客户端来指定的。
配置文件说明摘抄☞:https://blog.csdn.net/annita2019/article/details/92004340
一、安装服务。
[root@localhost ~]# yum -y install vsftpd
二、配置主配置文件。
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# grep -v "^# \|^#$" vsftpd.conf.bak > vsftpd.conf #过滤一下。不然看着乱
[root@localhost vsftpd]# vim vsftpd.conf
增加:
allow_writeable_chroot=yes #是否允许囚禁的用户进行写权限
user_config_dir=/etc/vsftpd/user #权限映射目录
guest_enable=YES #启用虚拟用户
guest_username=virtual #映射用户
修改:
pam_service_name=vsftpd
为:
pam_service_name=pa #定义pam模块
三、pam模块认证。
首先先要去添加一下用户账号、以及密码,并hash加密。
[root@localhost vsftpd]# vim up #这儿我用up来代表用户信息。username、password的缩写
增加:
ftpuser1 #用户名
123 #密码
ftpuser2 #用户名
123 #密码
ftpadmin #用户名
123 #密码
[root@localhost vsftpd]# db_load -T -t hash -f up up.db #加密用户信息
[root@localhost vsftpd]# vim /etc/pam.d/pa #编辑pam认证
增加:
auth required pam_userdb.so db=/etc/vsftpd/up
account required pam_userdb.so db=/etc/vsftpd/up
四、定义虚拟用户的权限。
[root@localhost vsftpd]# mkdir user
[root@localhost vsftpd]# cd user
[root@localhost user]# touch ftpuser1 #要求是ftpuser1只能进行下载,啥都不能了,所以直接创建一个空文件在这儿就好啦。
[root@localhost user]# vim ftpuser2
增加:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
[root@localhost user]# vim ftpadmin
增加:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_umask=022
[root@localhost user]# useradd -s /sbin/nologin -d /var/www virtual #创建映射的用户
[root@localhost user]# systemctl restart vsftpd
[root@localhost user]# echo haha > /var/www/1.txt #创建一个文件,方便连接的时候,好识别是不是连接对了。
测试ftpuser1:
测试ftpuser2:
解决:
[root@localhost vsftpd]# chown virtual /var/www/
测试ftpadmin:
有一些权限是肯定有的。我就不一一测试了。
centos7-vsftp(虚拟用户)的更多相关文章
- vsftp虚拟用户登录配置详解
一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...
- vsftp 虚拟用户高级设置(转载)
发布:xiaokk 来源:net [大 中 小] vsftp 虚拟用户高级设置 本文转自:http://www.jbxue.com/article/1724.html 1.安装所需软件包 ...
- vsftp 虚拟用户+MySQL认证独立家目录
centos7 系统 安装包 yum -y install mariadb vsftpd openssl-devel mysql-devel pam-devel yum -y groupinsta ...
- vsftp虚拟用户配置
找了很久,终于找到像样一点的文章,很详细,参数方面懂英文基本能看懂,一个教程是否有用,关键在于细节.错了一点点就不能配下去了. ------------------------------------ ...
- vsftp 虚拟用户
首先安装vsftp db-4wiki mkdir -p /opt/ftp 创建用户 sudo useradd virtual -d /opt/ftp -s /bin/false sudo chown ...
- centos 7.2下搭建vsftp 虚拟用户
虚拟用户搭建vsftp 要求一: 只允许上传 下载 不能删除 不能更换名称 yum install pam* yum install db4* -y yum install vsftpd chkcon ...
- CentOS 7搭建vsftp(虚拟用户方式登录)
说明: vsftpd的版本:vsftpd-3.0.2-22.el7.x86_64 ftp 根目录 : /data/ftp ftp 配置文件目录:/etc/vsftpd ftp 虚拟用户权限配置文件目录 ...
- Centos7 vsftpd虚拟用户权限控制(vsftpd虚拟用户限制IP访问)
实验目标:(新增限制虚拟机用户登陆的IP) 实现在同一跟目录下对admin,upload,download三个虚拟用户的不同权限的控制.具体权限控制列表如下: 用户名 权限说明 admin 管理员,可 ...
- vsftp 虚拟用户测试
1.创建用于进行FTP验证的帐号密码数据库文件,单数行为账户名,偶数行为密码.[root@rhel1 vsftpd]# vi /etc/vsftpd/vuser.listuser1123456user ...
- vsftp虚拟用户方式访问
需求:外部人员需要对公司服务器上某个文件夹内容进行读写操作 文件目录信息:/opt/abc drwxr-xr-x 9 www www 4096 12月 4 13:02 abc #注 ...
随机推荐
- gem5-gpu 运行 PARSEC2.1
PARSEC是针对共享内存多核处理器(CPU)的一套基准测试程序,详细介绍见wiki:http://wiki.cs.princeton.edu/index.php/PARSEC,主要参考:http:/ ...
- mysq 数据库约束入门
- C# 绘制矩形方框读写内存类 cs1.6人物透视例子
封装的有问题 其中方框可能在别的方向可能 会显示不出来建议不要下载了 抽时间我会用纯c#写一个例子的 其中绘制方框文字和直线调用的外部dll采用DX11(不吃CUP)绘制我封装成了DLL命名为 S ...
- Linux每日练习-复习紧急救援模式下重改root权限密码 20200225
- 如何用naviecat批量创建mysql数据
1.参考博文:https://blog.csdn.net/lelly52800/article/details/87267096 2.excel要与表结构一致 3.右键,导入向导,选择相应版本,点击“ ...
- P 1038 统计同成绩学生
转跳点:
- raspberry pi-php-exec
遇到的问题是在树莓派上搭建的web服务器,想通过网页操控树莓派的gpio,网页是通过php实现的,通过php的exec函数调用写好的程序实现对gpio的操作,但是赖何没有效果,分析也知道是权限问题,最 ...
- ipv6_RIPng配置
ipv6 unicast-routing——类似IPv4的ip routing ipv6 route rip word——启用IPv6进程 防止环路——split-horizon——水平分割——不再接 ...
- 四十四、在SAP中冻结第一行表头
一.表格数据量大了,如果需要界面滚动,则看不到第一行的表头文本 二.代码如下: 二.效果如下,任意滚动,表头还是被冻结可以看到
- python EasyUI + Django--整合 CSRF 防护去除
先来张完整图: 关于Django 得CSRF 中间件 防护 GET 是不做CSRF验证得 但POST 默认验证 $.cookie('csrftoken')) "v ...