VSFTPD虚拟用户配置

 

一.  虚拟用户配置

目前机器上安装的vsftpd是rpm而不是gz结尾的软件包,版本是2.0.1,配置虚拟用户有2种方法,一种是用mysql,另一种是用 Berkeley DB 的db_load工具实现,我就是用db_load实现虚拟用户的。具备这2个主要的程序后就可以开始配置了

1.  生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件 logins.txt 该文件的格式如下,单数行为用户名,偶数行为口令:

K wol

K wol

A dmin

admin

2.生成口令库文件,并修改其权限:

#db_load -T -t hash -f ./ logins .txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件。加上如下两行内容:

#vi /etc/pam.d/vsftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account



4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:

#useradd -d /home/ftpsite  suny
#chmod 700 /home/ftpsite



经过该步骤的设置,/home/ftpsite就是 suny 用户的主目录,该用户也是ftpsite目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。


5.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示( 这是我服务器上的配置文件 ):

user_config_dir=/etc/vsftpd 虚拟用户的配置文件

local_enable=YES

write_enable=NO

local_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

pasv_enable=YES

ftpd_banner=Welcome to blah FTP service suny.

chroot_local_user=NO

listen=YES  

tcp_wrappers=YES

guest_enable=YES  激活虚拟用户

guest_username=suny  虚拟用户在linux里的用户名

pam_service_name=vsftp.vu  判断虚拟用户的数据文件

use_localtime=YES  时间设置成与系统时间一致


上面代码中,guest_enable=YES表示启用虚拟用户;guest_username= suny 则是将虚拟用户映射为本地用户,这样虚拟用户登录后才能进入本地用户 suny 的目录/ftpsite;pam_service_name=vsftp.vu指定PAM的配置文件为vsftp.vu。

6.重新启动VSFTP:
#service vsftpd restart

然后就可以使用虚拟用户登录。

二.  配置虚拟用户的权限

user_config_dir=/etc/vsftpd ,这段配置文件就是告诉vsftpd,当虚拟用户登录成功后(也许是在登陆时)就会读取这个目录下的与虚拟用户名一直的配置文件,注意 user_config_dir 的值是目录的名称,而且此目录下一定要有和虚拟用户名称一样的配置文件,我以虚拟用户admin的配置文件做例子:

local_root=/data/userspace   设置虚拟用户登录后的主目录

anon_world_readable_only=no   匿名是否允许下载可阅读的文件

 

write_enable=yes  允许上传

anon_upload_enable=yes   匿名用户 允许上传

anon_other_write_enable=yes    匿名用户其它的写权利

此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限

三.  补充

配置文件的其他参数可以到一下的网站查看

http://www.chuhu.com/thread-83-1-1.html   

http://vsftpd.beasts.org/  

当出现 500 OOPS: cannot change directory:/home/xxxx 的情况,可以常试一下命令

setsebool ftpd_disable_trans 1 
service vsftpd restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vsftpd是一个非常流行的FTP服务器软件,它支持虚拟用户登录。虚拟用户是不在系统用户列表中的FTP用户,它们的登录信息是存储在配置文件中的。以下是详细的vsftpd虚拟用户登录配置步骤: 1. 安装vsftpd软件 如果系统上没有安装vsftpd,请先安装它。在Ubuntu系统上,可以使用以下命令安装vsftpd: ``` sudo apt-get install vsftpd ``` 2. 创建虚拟用户 使用以下命令创建一个虚拟用户: ``` sudo useradd -r -s /sbin/nologin ftpuser ``` 这里创建的虚拟用户是"ftpuser",它的shell是"/sbin/nologin",这意味着这个用户不能登录系统,只能用于FTP登录。 3. 创建虚拟用户的目录 为虚拟用户创建一个目录,并将其所有权分配给虚拟用户: ``` sudo mkdir /home/vsftpd/ftpuser sudo chown ftpuser:ftpuser /home/vsftpd/ftpuser ``` 4. 创建虚拟用户的登录文件 在vsftpd配置目录中创建一个文件,用于存储虚拟用户的登录信息: ``` sudo nano /etc/vsftpd/virtual_users.txt ``` 在文件中添加虚拟用户的登录信息。每行包含用户名和密码,用冒号分隔。例如: ``` ftpuser:password123 ``` 5. 生成虚拟用户的认证文件 使用以下命令生成虚拟用户的认证文件: ``` sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db ``` 这个命令将使用virtual_users.txt文件中的信息创建一个名为virtual_users.db的文件。 6. 配置vsftpd 编辑vsftpd配置文件/etc/vsftpd.conf: ``` sudo nano /etc/vsftpd.conf ``` 在文件中添加以下配置: ``` listen=YES anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd guest_enable=YES guest_username=ftpuser user_sub_token=$USER local_root=/home/vsftpd/$USER virtual_user_local_privs=YES user_config_dir=/etc/vsftpd/users ``` 这些配置选项的含义可以参考vsftpd文档。 7. 创建用户配置文件 在/etc/vsftpd/users目录中创建一个名为"ftpuser"的文件,用于配置虚拟用户的特定选项: ``` sudo nano /etc/vsftpd/users/ftpuser ``` 在文件中添加以下配置: ``` local_root=/home/vsftpd/ftpuser ``` 这个配置将指定虚拟用户的根目录为/home/vsftpd/ftpuser。 8. 重启vsftpd服务 使用以下命令重启vsftpd服务: ``` sudo systemctl restart vsftpd ``` 现在,你的vsftpd服务器已经配置为支持虚拟用户登录了。你可以使用刚才创建的虚拟用户用户名和密码登录FTP服务器,并且只能访问该用户的目录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值