vsftpd配置虚拟用户的方法介绍

发布时间:2020-03-17编辑:脚本学堂
FTP有三种方式:匿名用户、本地用户和虚拟用户。匿名用户:在登录FTP时使用默认的用户名,一般是ftp或anonymous。本地用户:使用系统用户登录,用户和密码存放在在/etc/passwd中。

vsftpd配置虚拟用户的方法介绍,供大家学习参考。

FTP有三种方式:匿名用户、本地用户和虚拟用户。

匿名用户:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户:使用系统用户登录,用户和密码存放在在/etc/passwd中。
虚拟用户:这是FTP专有用户,与本地用户无关,因此只能访问FTP服务器提供的资源,大大增强了系统的安全;根据用户认证的方式不同,又可以分为两种方式实现:本地数据文件和数据库服务器。

首先,简单地介绍下部署环境:
操作系统: SUSE 11.0
应用软件: vsftpd
          db_load
          pam

一、安装相关组件

二、创建相关账户
1、创建 vsftpd 服务的宿主用户
 

复制代码 代码如下:
# useradd ftpuser –s /sbin/false

2、创建 虚拟用户的宿主用户
 

复制代码 代码如下:
# useradd vsftpd –d /var/lib/empty –s /sbin/false

三、创建虚拟用户数据库

1、创建虚拟用户口令文件
# vi /etc/vsftpd_login.txt

添加虚拟用户和密码,按行依次输入用户名和密码,奇数行为用户名,偶数行为密码。
 

复制代码 代码如下:
hostuser # 用户名
hostuser # 密码
cupsuser # 用户名
cupsuser # 密码

2、生成虚拟用户认证数据数据库
 

复制代码 代码如下:
# db_load –T –t hash –f /etc/vsftpd.txt /etc/vsftpd/vftpuser.db

3、配置pam认证
# vi /etc/pam.d/vsftpd

将里面其他的配置项注释掉,添加下面这两行:
 

复制代码 代码如下:
auth      required       pam_userdb.so db=/etc/vsftpd/vftpuser
account   required       pam_userdb.so db=/etc/vsftpd/vftpuser

四、配置 vsftpd 服务器
# vi /etc/vsftpd.conf

根据实际情况进行相关配置:
    允许写操作
    write_enable=YES
    #
    # 开启目录标语功能
    #dirmessage_enable=YES
    #message_file=.message
    #
    # 支撑vsftpd服务的宿主用户
    nopriv_user=ftpsecure
    #
    # 登录标语
    ftpd_banner="Welcome to FTP service of Luzhou City Commetcial Bank."
    #
    # 允许用户登录后使用“ls -R”的命令,会造成巨大的系统开销
    #ls_recurse_enable=YES
    #
    #deny_email_enable=YES
    #banned_email_file=/etc/vsftpd.banned_emails
    #
    #hide_ids=YES
    # Local FTP user Settings
    #
    # 本地用户可以访问
    local_enable=YES
    #
    # 上传文件权限掩码
    local_umask=033
    #
    chroot_local_user=YES
    #
    # 用户限制在自己的FTP主目录
    #chroot_list_enable=YES
    #
    # (default follows)
    # 哪些用户被限制在自己的默认目录内
    #chroot_list_file=/etc/vsftpd.chroot_list
    #
    # 用户的最大传输速率
    #local_max_rate=7200
    # Anonymus FTP user Settings
    #
    # 不允许匿名用户访问
    anonymous_enable=NO
    #
    #anon_world_readable_only=YES
    #
    # 不允许匿名用户上传
    #anon_upload_enable=NO
    #
    #anon_umask=022
    #
    # 不允许匿名用户建立目录
    #anon_mkdir_write_enable=NO
    #
    #anon_other_write_enable=NO
    #
    # 上传文件更改宿主
    #chown_uploads=YES
    #chown_username=whoever
    #
    #anon_max_rate=7200
    # Log Settings
    #
    syslog_enable=NO
    #
    #log_ftp_protocol=YES
    #
    # 是否保存日志
    xferlog_enable=YES
    #
    # 服务日志保存路径
    #vsftpd_log_file=/var/log/vsftpd.log
    #
    # 日志使用标准的记录格式
    xferlog_std_format=YES
    #
    # 服务日志保存路径
    xferlog_file=/var/log/vsftpd.log
    #
    #dual_log_enable=YES
    #
    #setproctitle_enable=YES
    # Transfer Settings
    #
    # 使用端口20进行数据连接
    connect_from_port_20=YES
    #
    # 空闲连接超时时间
    idle_session_timeout=600
    #
    # 单次连续传输最大时间
    #data_connection_timeout=120
    #
    # 支持异步传输功能
    #async_abor_enable=YES
    #
    # 支持ASCII模式的上传和下载功能
    ascii_upload_enable=YES
    ascii_download_enable=YES
    #
    # 启动被动式连接模式(passive mode)
    pasv_enable=YES
    # PAMf服务下ftp服务的验证配置文件名
    pam_service_name=vsftpd
    # 服务工作模式(StandAlone模式)
    listen=YES
    # Set to ssl_enable=YES if you want to enable SSL
    ssl_enable=NO
    # Limit passive ports to this range to assis firewalling
    #pasv_min_port=30000
    #pasv_max_port=30100
    # 并发客户端访问个数
    #max_clients=10
    # 单个客户端的最大线程数
    #max_per_ip=3
    # 启用虚拟用户功能
    guest_enable=YES
    # 指定虚拟用户的宿主用户
    guest_username=vsftpd
    # 虚拟用户的配置文件存放路径
    user_config_dir=/etc/vsftpd_user_conf

保存退出后重启 vsftpd 服务。
 

复制代码 代码如下:
# service vsftpd restart

五、配置虚拟用户

1、创建虚拟用户配置文件目录
 

复制代码 代码如下:
# mkdir /etc/vsftpd_user_conf
# chmod 777 /etc/vsftpd_user_conf

2、创建虚拟用户配置文件
虚拟用户配置文件为独立的配置文件,文件名与用户名相同。
# vi /etc/vsftpd_user_conf/hostuser

在配置文件中添加如下配置项,并保存退出。
 

复制代码 代码如下:
local_root=/home/cardfs/file/HOST  # 虚拟用户登录后的主目录
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

测试虚拟用户登录 ftp 服务器,并检查操作是否成功。

您可能感兴趣的文章:
vsftpd安装及虚拟用户认证的配置方法
ubuntu vsftpd虚拟用户配置
CentOS 6.2 配置vsftpd虚拟用户的方法
vsftpd虚拟用户创建实例
vsftpd虚拟用户配置的总结
CentOS 5.3建立Vsftpd虚拟用户
CentOS6.2 x64 下 配置vsftpd虚拟用户服务器
vsftpd下创建虚拟用户的方法
vsftp 虚拟用户高级设置