生产环境搭建ftp并配置虚拟用户

虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。
在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。

虚拟用户并非系统上的用户,但它必须映射到系统上的某个用户,虚用户的家目录属主和属组就这系统上的这个用户。并且每个虚用户有自己的用户名和密码,每个虚用户也可以单独设定对家目录的访问权限。使用文件的方式创建并依此建立一个数据库文件,PAM可以读取这个数据库文件完成用户认证目的。

安装配置步骤
1、安装相关包(vsftpd,lftp,db4-utils)
ftp服务端:vsftpd
ftp客户端:lftp
由文本文件生成数据库文件:db4-utils
2、创建虚拟用户口令文件并依此生成数据文件
3、在PAM认证中添加ftp
4、添加虚拟用户的权限配置文件
5、创建虚拟用户对应本地用户,并授权访问虚拟用户的家目录
6、根据以上内容修改vsftpd.conf总配置文件
7、启动服务
8、验证服务是否可用

1、安装相关包(vsftpd,lftp,db4-utils)

yum install vsftpd lftp db4-utils

(系统环境centos6.6)

2、创建虚拟用户口令文件并依此生成数据文件

cd /etc/vsftpd/
vi vuserpass.txt
jdsfeftp
hH+GRu22pCa14eXoifEpqA==

说明1:第一行是用户名,第二行是密码,可以添加多个用户和密码
说明2:/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt 是示例文档
说明3:rpm -ql vsftpd可以查看其他版本生成的示例文档的位置
说明4:openssl rand -base64 16 可生成随机密钥

db_load -T -t hash -f /etc/vsftpd/vuserpass.txt /etc/vsftpd/vftpuser.db
chmod 600 vftpuser.db

说明:vftpuser.db就是PAM认证时读取的数据库文件

3、在PAM认证中添加ftp

vim /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

说明1:/lib64/security/pam_userdb.so检查是否存在该文件,此处是64位系统,所以是/lib64/,32位系统在/lib/下。
说明2:db=/etc/vsftpd/vftpuser无需".db"后缀名
说明3:/etc/pam.d/vsftpd有示例文件在/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam

4、添加虚拟用户的权限配置文件

mkdir -p /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf

以虚拟用户名创建同名文件

vi jdsfeftp
local_root=/home/apps/ftpsite/public
#虚拟用户的家目录
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

5、创建虚拟用户对应本地用户,并授权该本地用户访问虚拟用户的家目录

useradd -s /sbin/nologin virtual
mkdir -p /home/apps/ftpsite/public
chown -R virtual:virtual  /home/apps/ftpsite/

6、根据以上内容修改vsftpd.conf总配置文件

vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
#开启虚拟用户的功能
guest_username=virtual
#虚拟用户对应的本地用户名
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#虚拟用户的权限配置目录
local_enable=YES
#必须允许本地用户访问
pam_service_name=vsftpd
#pam目录下的文件名pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
pasv_address=192.168.1.137
#注意修改被动IP,使用ifconfig查看
pasv_addr_resolve=yes
listen=YES
anonymous_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
userlist_enable=YES
tcp_wrappers=YES

7、启动服务

/etc/init.d/vsftpd  start
#需要开启防火墙的话
#iptables -t filter -A INPUT -m state –state NEW -p tcp -m tcp –dport 30000:30999 –syn -j ACCEPT

8、验证服务
lftp ftp://IP -u jdsfeftp
输入密码:
ls
!ls /tmp
put /tmp/testfile
mkdir testdir
登录服务器查看文件
ls /home/apps/ftpsite/public

时间: 2024-12-05 21:35:15

生产环境搭建ftp并配置虚拟用户的相关文章

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

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

生产环境下ftp的迁移并构建高可用

说明:这是1个小项目就两台DELL的服务器,和一台IP SAN存储(DELL MD3200i).原来是4台小服务器,而且服务器太老了,经常有问题,这回相当于一次ftp的迁移,以前用的是proftp,这次换成了vsftp.数据量有2.5T. 拓扑很简单: 系统:CENTOS 6.4(64bit) 高可用软件:corosync+pacemaker host:ftp1 192.168.1.190 ftp2  192.168.1.191 stonith(ipmi):ftp1 192.168.1.180

linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口 数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式 ftp服务器端程序:wu-ftpd:vsftpd pureftpd Filezilla Serv-U ftp客户端程序:CLI文本模式命令:ftp lftp GUI图形界面软件:gftpd FlashFXP Cuteftp Filezilla vsftpd:命名为V

Centos下安装FTP并进行虚拟用户访问方式配置

1.准备工作 yum install pam* yum install db4* 首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件). 2.安装vsftpd yum install vsftpd 设置vsftpd开机启动: chkconfig vsftpd on 通过chkconfig --list 查看启动项 3. 配置vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_u

vsftpd-mysql配置虚拟用户

实验环境: Linux centos-server 2.6.32-504.el6.x86_64 vsftpd-2.2.2-13.el6_6.1.x86_64 mysql-5.1.73-3.el6_5.x86_64 搭建所需环境: yum install mysql mysql-server openssl pam-devel yum -y groupinstall "Development Tools" "Development Libraries" 安装pam_m

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 二:基于虚拟用户的配置 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟

Kubernetes二进制方式v1.13.2生产环境的安装与配置(HTTPS+RBAC) ?

Kubernetes二进制方式v1.13.2生产环境的安装与配置(HTTPS+RBAC) 一 背景 由于众所周知的原因,在国内无法直接访问Google的服务.二进制包由于其下载方便.灵活定制而深受广大kubernetes使用者喜爱,成为企业部署生产环境比较流行的方式之一,Kubernetes v1.13.2是目前的最新版本.安装部署过程可能比较复杂.繁琐,因此在安装过程中尽可能将操作步骤脚本话.文中涉及到的脚本已经通过本人测试. 二 环境及架构图 2.1 软件环境 OS(最小化安装版): cat

生产环境Linux二进制安装配置MySQL

生产环境Linux二进制安装配置MySQL 一.环境检查rpm -qa |grep libaio #如果没有安装libaio则需要安装.df -hmount /dev/sr0 /mnt二.安装过程1)上传安装程序通过FTP/SFTP上传安装包2)创建创用户,组,创建目录groupadd mysqluseradd -r -g mysql -s /bin/false mysqlmkdir -p /mysql/data/3306/data这里的3306是MySQL默认端口号,/mysql/data目录

Hadoop生产环境搭建(含HA、Federation)

Hadoop生产环境搭建 1. 将安装包hadoop-2.x.x.tar.gz存放到某一目录下,并解压. 2. 修改解压后的目录中的文件夹etc/hadoop下的配置文件(若文件不存在,自己创建.) 包括hadoop-env.sh,mapred-site.xml,core-site.xml,hdfs-site.xml,yarn-site.xml 3. 格式化并启动HDFS 4. 启动YARN 以上整个过程与Hadoop单机Hadoop测试环境搭建基本一致,不同的是步骤2中配置文件设置内容以及步骤