FTP之虚拟用户

基于虚拟用户访问ftp
关闭防火墙,selinux

过程如下
1、装包,配置、起服务
配置过程如下:

需写入vsftpd.conf配置文件中的内容如下:

anonymous_enable=NO ---- 匿名用户可登陆
local_enable=YES ---- 本地用户可登陆
write_enable=YES ---- 可以写入
local_umask=022 ----- 设定umask值
dirmessage_enable=YES ---- 目录欢迎信息功能
xferlog_enable=YES ---- 启用日志
connect_from_port_20=YES ---- 链接端口是20
xferlog_std_format=YES ---- 日志格式
listen=YES ---- 开启监听(必须开启) RHEL7可以不开

pam_service_name=vsftpd ---- pam模块验证用户身份
userlist_enable=YES ---- 开启名单机制
tcp_wrappers=YES ----- 支持防火墙

1. yum provides */db_load 查找需要安装数据库建立工具的包,将其安装
RHEL7 需要安装 libdb-utils
2.建立虚拟用户列表
vim /etc/vsftpd/vsftp.users 一个虚拟用户文件,用户名和密码各占一行
xixi
123
haha
456

db_load -T -t hash -f /etc/vsftpd/vsftp.users /etc/vsftpd/vsftp.users.db --- 生成用户数据库文件
-T --- 支持多软件识别
-t --- 指定加密算法
-f --- 指定文件

3.建立一个不可登录用户用来作为虚拟用户的共享目录提供者
useradd -d /var/ftproot -s /sbin/nologin vftpuser
chmod 755 /var/ftproot --给与其他用户有写入权限

4.建立虚拟用户登录认证的pam模块
vim /etc/pam.d/vuserftp
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftp.users
account required pam_userdb.so db=/etc/vsftpd/vsftp.users

5.修改主配置文件使其支持虚拟用户验证登录
chroot_local_user=yes
guest_enable=YES
guest_username=vftpuser 与上面创建的用户对应
user_config_dir=/etc/vsftpd/vuserdir 设置的一个目录,重启服务自动生成
pam_service_name=vuserftp 与上面/etc/pam.d/vuserftp文件对应

/etc/init.d/vsftpd restart

如果访问报错refusing to run with writable root inside chroot()
配置文件写入allow_writeable_chroot=YES
重启服务

touch /etc/vsftpd/vuserdir/xixi
touch /etc/vsftpd/vuserdir/hahavi

6.为虚拟用户建立不同的权限
vim /etc/vsftpd/vuserdir/xixi
anon_upload_enable=YES
anon_umask=022

实验结果:
xixi用户可上传下载
haha用户只能下载,不能上传
有防火墙需要设置包括selinux

时间: 2024-08-07 00:18:53

FTP之虚拟用户的相关文章

企业级FTP服务器虚拟用户的搭建 ---RHEL6.x

企业级FTP服务器虚拟用户的搭建 ---RHEL6.x 前言: 所谓温故知新,今天在整理之前的学习笔记的时候,无意间看到了VSFTP虚拟用户的字眼,也可能是由于在平时所用的FTP服务器通常是用setfacl来实现安全共享,忽略了系统用户安全的问题,vsftp虚拟用户的实现方式也变得模糊,今天就一起来回顾一下vsftp虚拟用户的搭建. db4-utils+vsftpd 搭建虚拟用户 : 个人认为虚拟用户对于企业级的VSFTP还是很有必要的,如果有人想要恶意破坏服务器系统的话,对方知道了你的系统用户

FTP+MySQL虚拟用户

虚拟用户: 所谓虚拟用户,就是所有的虚拟用户会被统一映射为一个指定的系统账号,访问的共享位置即为此系统账号的家目录.管理起来极为方便 实验题目:FTP+MySQL 实验目的:虚拟用户存放在mysql表中,通过远程的方式实现对虚拟用户的管理控制 实验拓扑: 说明:这两台服务器可以合成一个,这里分成两个是为了实现让ftp如何通过网络和mysql实现管理控制,同时这样可以看得更直观. 1.安装mysql(192.168.0.3) 可以用yum安装,也可以编译安装,前面已经介绍过mysql的安装,这里不

ftp用虚拟用户访问

1.创建一个虚拟用户的数据库文件 vim /etc/vsftpd/vuser.list jerry jerry tom tom //单行为账户,双行为密码 使用db_load命令用hash算法生成ftp用户的数据库文件vuser.db db_load -T -t hash -f vuser.list vuser.db chmod 600 vuser.db  --为了安全性,权限改小一些 rm -rf vuser.list --删除原始账号和密码的文件 2.创建ftp根目录及虚拟用户映射的系统用户

linux ftp创建虚拟用户及更改权限

第1步进入目录 cd /etc/vsftpd/ vim vuser.list //单数行为帐号,双数行为密码. 111 111111 222 222222 使用db_load命令用HASH算法生成FTP用户数据库文件 vuser.db: dbload -T -t hash -f vuser.list vuser.db 查看文件: file vuser.db FTP赋予权限: chmod 600 vuser.db 第2步创建用户virtual并设置为不允许登陆系统并定义该用户的home目录: us

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比

Ubunton下搭建ftp服务器 实现虚拟用户、本地用户、匿名用户的登陆及权限

#在ubunton系统下安装和配置ftp可以说是比较简单的 本篇教程是为了解决一下问题 需要搭建ftp服务器实现三种用户的登陆及权限管理 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东; 而tearcher,则可以对特定的目录里上传.下载东东; admin则可以对stu.teacher的数据进行统一的管理. 另外,做为系统上已经有的本地用户则可以登录自己的home目录. 针对上面的需求,ftp需要开通对匿名用户.本地用户.及虚拟用户的支持.并且特别对虚拟用户

Linux下vsftpd安装以及配置FTP虚拟用户实践

首选的FTP服务器搭建方式 安装vsftpd #查看当前系统版本 cat /etc/redhat-release  CentOS release 6.6 (Final)  #查看是否已经安装vsftpd rpm -qa | grep vsftpd #如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟用户不能登录CentOS系统.

vsftpd安装配置虚拟用户

原文发表于cu:2016-03-11 参考文档: FTP原理:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_1.php FTP配置:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_2.php 虚拟用户配置:http://yuanbin.blog.51cto.com/363003/129071 一.环境 OS CentOS6.7 x86_64 网络 Sever:192.168.1.25

vsftpd虚拟用户整理

Vsftpd虚拟用户的配置 第一步.安装 # wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo # yum clean all # yum -y install vsftpd # yum -y install db4-utils 第二步.建立虚拟用户 #vim /home/ftpusr.txt 1.  user1 2.  password1 3.  user2 4.  password2 5.  user3 6.  passwor