centos7搭建vsftpd并启用虚拟用户

虚拟用户的特点是只能访问服务器为其提供的FTP服务,不能访问系统的其它资源,所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其他资源,可以使用虚拟用户来提高系统的安全性。

在vsftpd中,谁这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。

安装vsftpd,Berkeley Database(db4)

yum install vsftpd db4-utils db4 -y

创建虚拟用户数据库

vim /home/virtual_users.txt

senthil

centos

执行下面命令创建数据库

db_load -T -t hash -f /home/virtual_users.txt /etc/vsftpd/virtual_users.db

创建PAM文件

vim /etc/pam.d/vsftpd_virtual

#%PAM-1.0
auth    required        pam_userdb.so   db=/etc/vsftpd/virtual_users
account required        pam_userdb.so   db=/etc/vsftpd/virtual_users
session required        pam_loginuid.so

vsftpd配置文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO

pam_service_name=vsftpd_virtual
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
#启用虚拟用户
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/ftp/virtual/$USER
hide_ids=YES
allow_writeable_chroot=YES
#避免客户端500错误

为虚拟用户创建家目录

mkdir -p /ftp/virtual/senthil

chown -R ftp:ftp /ftp/virtual/senthil/

启动服务

systemctl start vsftpd

测试

C:\Users\Administrator>ftp 192.168.2.72
连接到 192.168.2.72。
220 (vsFTPd 3.0.2)
用户(192.168.2.72:(none)): senthil
331 Please specify the password.
密码:
230 Login successful.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 ftp      ftp        670293 Feb 04 03:09 abc
-rw-r--r--    1 ftp      ftp        670293 Feb 04 03:08 services
226 Directory send OK.
ftp: 收到 127 字节,用时 0.00秒 127.00千字节/秒。
ftp> get services
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for services (670293 bytes).
226 Transfer complete.
ftp: 收到 670293 字节,用时 0.02秒 35278.58千字节/秒。
ftp>

参考资料:https://www.unixmen.com/install-vsftp-with-virtual-users-on-centos-rhel-scientific-linux-6-4/

原文地址:https://www.cnblogs.com/feng-land/p/10351563.html

时间: 2024-08-27 21:58:57

centos7搭建vsftpd并启用虚拟用户的相关文章

centos7 搭建vsftpd服务并锁定用户的家目录

1.安装vsftpd服务 yum install vsftpd -y 2.创建用户 useradd vsftp -s /sbin/nologin ####添加用户,并且这个用户没有登陆系统的权限passwd vsftp 3.修改vsftp配置文件 [[email protected] home]# vim /etc/vsftpd/vsftpd.conf 把其中的某些注释取消 chroot_local_user=YES ####锁定本地用户的家目录,但是目录本身的w权限要取消.这是安全考虑,若不取

在Centos7上使用vsftpd+pam_mysql实现虚拟用户认证

一.安装所需要程序 1.安装开发环境及所需要程序 # yum groupinstall -y "Development Tools" "Server PlatformDevelopment" # yum install -y pam-devel mariadb-devel mariadb-server vsftpd lftp ftp 启动服务: # systemctl start mariadb.service 2.编译安装pam_mysql-0.7RC1 # ta

CentOS 6.4下安装vsftpd、配置虚拟用户登录

概述: vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个. 本文介绍了在CentOS 6.4下安装vsftpd.配置虚拟用户登录FTP的过程. 正文: 一:安装vsftpd 查看是否已经安装vsftpd rpm -qa | grep vsftpd 如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 二:基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟

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

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

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

RHEL vsftpd多个虚拟用户访问不同目录问题

近期公司收到这样一个需求:某部门需要和不同的供应商共享文件,各供应商之间不可共享(通过FTP共享). FTP账号要求:某部门一个内部账号,供应商各一个外部账号,内部账号可以进各供应商账号目录. FTP权限要求:内部账号有所有权限,包括上传.下载.删除:外部账号只有上传.下载权限. FTP带宽限制:内部上传下载无限制,外部上传下载限速200KB. 解决方法: 1.在FTP服务器(vsftpd)上新建一个用户并指定目录(虚拟账号使用) [[email protected] ~]# useradd f

centos 6 安装vsftpd与PAM虚拟用户

使用yum 安装vsftp 1 yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 1 cd /etc/vsftpd/ 2 touch vuser_passwd.txt 添加用户(奇行用户,偶行密码) 1 vim vuser_passwd.txt 2 3 tom 4 DSfaoewLD3 5 ken 6 GetpOIIofd324DLJhg 将文本内的帐号及密码添加到db4的数据库文件内 1 db_load -T -t hash -f /e

ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密

1.对于12.04的vsftpd 有一些bug,推荐安装版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.debapt-get install python-software-propertiesadd-apt-repository ppa:thefrontiergroup/vsftpdapt-get updateapt-get install vsftpd 2.配置虚拟用户,安装db5.1-util(对应系统版本即可)apt-get -y install db5.1-util

vsftpd基于pam虚拟用户认证,还怕泄漏账号么?

一.ftp简要介绍 ftp是一个很古老的协议了,是一种基于明文传输的C/S架构协议.ftp基于tpc21.20端口,其中21端口为命令端口,20端口为数据端口.ftp命令连接同其他TCP连接一样,不过数据连接有两种模式: 主动模式,也称作PORT模式:命令请求端口时,服务器端为减少等待,主动将数据发送给客户端:使用本机的20端口请求客户端的端口.这里有个问题:服务器端想要主动连接客户端就需要知道客户端的端口号,可是客户端根本没有启动任何端口给服务器端.协议设计中服务器端根据客户端的命令连接端口(