vsftp 使用虚拟用户

配置的思路:使用帐号和密码登录FTP服务器,每个用户只能登录到自己用户名的目录中,可以增删改查文件。 -- 使用VSFTP的虚拟用户和chroot目录的配置。

安装vsftp。使用pam管理vsftp的虚拟用户。

因为是使用vsftpd的虚拟用户,所以我们需要先在系统中创建一个用户,并且该用户对/ftp目录具有可读可写可执行权限。

在iptables中开放20、21、被动模式端口范围,并加载FTP驱动模块

modprobe ip_nat_ftp

modprobe ip_conntrack_ftp

/etc/vsftpd.conf文件内容

listen=YES

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

# 指定vsftp欢迎信息及日志记录格式和日志文件路径

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ftpd_banner=Welcome to nixCraft ftp server

connect_from_port_20=YES

chroot_local_user=YES

chroot_list_enable=NO

allow_writeable_chroot=YES

# 使用的本地账户的名称

guest_enable=YES

guest_username=vsftpd

secure_chroot_dir=/var/run/vsftpd/empty

# 指定使用pam.d目录中的哪个文件

pam_service_name=vsftpd

# 启用被动模式、被动模式使用的端口号范围及被动模式使用的公网IP

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

pasv_address=61.139.2.69

#虚拟用户目录

user_config_dir=/etc/vsftpd/user_conf

# vsftp使用ssl key方式

rsa_cert_file=/etc/ssl/private/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

require_ssl_reuse=NO

ssl_ciphers=HIGH

/etc/pam.d/vsftpd文件内容 ,这个文件就是使用的用户名和密码的txt生成的db数据文件。/etc/vsftpd/user_config这个文件就是.db文件路径

auth sufficient pam_userdb.so db=/etc/vsftpd/user_config

account sufficient pam_userdb.so db=/etc/vsftpd/user_config

虚拟用户配置文件内容/etc/vsftpd/user_conf/username

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/ftp/FTPUser

该配置内容为具有可读可写权限。

创建一个本地系统用户

useradd vsftpd -d /ftp -s /bin/false

chown vsftpd:vsftpd /ftp

创建文本文件loguser.txt

格式如下:

username

password

于是,我们/home/loguser.txt文件的内容为

cd  /home                     切换到/home目录

sudo  touch  /home/loguser.txt         创建账户和密码文件

sudo  gedit   /home/loguser.txt

然后将下面的账户文件字符粘帖入loguser.txt中,注意一行一行输入。

注意:奇数行为账户名,偶数行为密码。也就是1.3.5.等行为用户名,2.4.6行为密码;

最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。

db1

db100

db2

db200

db3

db300

test

生成数据库

sudo db_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db

最后设置一下数据库文件的访问权限

sudo chmod 600 /etc/vsftpd_login.db

在ubuntu下要启动、停止、重启vsftpd,我们必须使用以下命令:

sudo service vsftpd stop

sudo service vsftpd start

sudo service vsftpd restart

vsftp配置ssl

1.生成证书

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

2.在vsftpd.conf配置文件中增加ssl配置项

rsa_cert_file=/etc/ssl/private/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

配置强制使用ssl

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

After this we configure the server to use TLS, which is actually a successor to SSL, and preferred:

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

Finally, we will require add some additional options to flesh out our configuration file:

require_ssl_reuse=NO

ssl_ciphers=HIGH

总结:vsftp使用虚拟用户访问主要使用了单用户配置的方式。

使用了pam模块。在使用虚拟用户上传下载文件的时候映射到本地新建的用户。

时间: 2024-10-18 21:59:19

vsftp 使用虚拟用户的相关文章

CentOS 6.3下安装Vsftp,虚拟用户

CentOS 6.3下安装Vsftp,虚拟用户一.安装:1.安装Vsftpd服务相关部件:[[email protected] ~]# yum install vsftpd*Dependencies Resolved============================================================================= Package                 Arch       Version          Repository  

vsftp 配置虚拟用户登录

1.安装vsftpd 1 yum install vsftpd -y 2.更名默认配置文件,以便恢复 1 cp ftpusers ftpusers.bak 2 cp user_list user_list.bak 3 cp vsftpd.conf vsftpd.conf.bak 3.创建虚拟ftp账户和数据库文件 1 vim /etc/vsftpd/vusers.list #添加帐号和密码 2 ftpuser #一行帐户 3 ftppass #一行密码 4 ftpuser2 5 ftppass2

linux 下搭建vsftp的虚拟用户登陆

系统环境:192.168.1.62.    centos6.4   64位系统 安装vsftp的软件包 yum  install  vsftpd 2.虚拟用户需要一个数据库的转换.安装所需要的软件 yum install db4* db_load –T –t hash –f vftpuser.txt  vftpuser.db 转换数据格式 3.增加pam认证 安装pam所需要的包 yum install pam* 编辑pam的配置文件 这个错误可以从/var/log/secure里面看出来 Se

vsftp配置虚拟用户

1.首先创建账号列表,基数行为账号,偶数行为密码. vim /etc/vsftpd/user.list down down up up 2.安装vsftp和加密程序,系统光盘都有这两个软件. rpm -Uvh /media/cdrom/Server/vsftpd-2.0.5-10.el5.i386.rpm rpm -Uvh /media/cdrom/Server/db4-utils-4.3.29-9.fc6.i386.rpm 加密账号密码 cd /etc/vsftp/user.list db_l

CentOS平台部署vsftp(基于虚拟用户)

1. 安装FTP 1 2 [[email protected] ~]# yum install vsftpd –y [[email protected] ~]# chkconfig vsftpd on          # 配置开机启动 2. 配置ftp(修改主配置文件) 1 2 3 4 5 6 7 8 9 10 11 12 [[email protected] ~]# cd /etc/vsftpd/ [[email protected] vsftpd]# vim vsftpd.conf ano

安装vsftp,虚拟用户访问

安装vsftp虚拟用户访问 安装主机:192.168.0.25 一.安装ftp 1.查看是否安装了vsftp rpm -qa | grep vsftpd 2.未安装vsftp,则执行下列命令安装 yum -y install vsftpd 二.修改vsftpd.conf配置文件 vi /etc/vsftpd/vsftpd.conf 修改下面配置 anonymous_enable=NO (不允许匿名用户登陆) local_enable=YES (允许本地用户登录) write_able=YES (

CentOS 下vsftp 安装--虚拟用户

FTP文件传输协议(File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行. FTP协议占用两个端口号: 21端口:命令控制,用于接收客户端执行的FTP命令. 20端口:数据传输,用于上传.下载文件数据. FTP数据传输的类型: 主动模式:FTP服务端主动向FTP客户端发起连接请求. 被动模式:FTP服务端等待FTP客户端的连接请求. 下面介绍用虚拟用户

vsftp建立虚拟用户不同目录分配不同权限操作步骤详解

vsftpd服务器同时支持匿名用户.本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名.密码与系统用户账号区别开,进一步增强了FTP服务器的安全性. 1.在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句: ************************************************************************************************

VSFTP的虚拟用户配置方法

1.建立虚拟用户口令库文件 口令库文件中奇数行设置用户名,偶数行设置口令 # vi /etc/vsftpd/ftpuser.txt ftpaaa 123456 ftpbbb 123456 2.生成vsftpd的认证文件 安装名叫"db4-utils-..."的包 # db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/ftplogin.db 注:如果没有db_load命令,请安装db4-utils-*相关rpm包. 设置认证