vsftp的虚拟用户管理

正文:
1. 首先检查是否安装了 db4
没有安装就首先安装(安装光盘自带db-utils)
#rpm -p db4
2.建立logins.txt
此例中logins.txt保存在/home/logins.txt
单行用户名,双行密码,如下:
shareach1
123456
user2
654321
3.建立数据库文件,修改文件属性
#db_load -T -t hash -f /home/logins.txt /etc/vsftpd/login.db
如果提示db_load没有,则表示db4没有安装,数据库文件保存到了/etc/vsftpd/login.db
#chmod 600 /etc/vsftpd/login.db
4.建立认证文件
在/etc/pam.d/ftp中加入2行,没有文件就新建
auth      required    /lib/security/pam_userdb.so db=/etc/vsftpd/login
account   required    /lib/security/pam_userdb.so db=/etc/vsftpd/login
5.建立一个虚拟用户
#useradd -d /var/ftp -s /sbin/nologin vsftpd
只要更改这个虚拟用户的目录,那么ftp登录之后的目录也就随之更改
#ls -ld /var/ftp
提示:drwx------ 3 vsftpd vsftpd 1024 Jun 6 22:55 /var/ftp
6.编写配置文件
#使用standalone启动vsftpd
listen=YES
listen_port=21
#可接受的最大连接数
max_clients=100
#每个IP最大的连接数
max_per_ip=5
#本地用户的传输比率(b/s)
local_max_rate=5120000
#支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)
tcp_wrappers=YES
#禁用匿名账户
anonymous_enable=NO
#PAM方式此处必须为YES
local_enable=YES
#全局控制不可以上传
write_enable=NO
#匿名用户不可以上传
anon_upload_enable=NO
#匿名用户不可以建目录
anon_mkdir_write_enable=NO
#匿名用户不可以修改
anon_other_write_enable=NO
#不充许用户更改根目录
chroot_local_user=YES
guest_enable=YES
#这两行的意思是采用虚拟用户形式
guest_username=vsftpd
#虚拟用户和本地用户权限相同
virtual_use_local_privs=YES
#定义虚拟用户配置文件目录
user_config_dir=/etc/vsftpd/user_conf
#建立资料联机采用被动方式
pasv_enable=YES
#建立资料联机所可以使用port 范围的上界,0表示任意。默认值为0。
pasv_min_port=30000
#建立资料联机所可以使用port 范围的下界,0表示任意。默认值为0。
pasv_max_port=30999
#开启日志记录
xferlog_enable=YES
#日志存放文件位置
xferlog_file=/etc/vsftpd/ftp.log
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
#PAVS请求超时
accept_timeout=60
#PROT模式连接超时
connect_timeout=60
7.编写用户配置文件和用户目录
shareach1用户可以下载、上传、修改
user2只能下载
在/etc/vsftpd/user_conf中新建两个文件,shareach1、user2
shareach1 文件如下:
local_root=/var/ftp/shareach1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
user2 文件内容如下
local_root=/var/ftp/user2
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
创建用户对应的目录
#mkdir /var/ftp/shareach1
#mkdir /var/ftp/user2
设置shareach1的目录权限
#chmod 700 /var/ftp/shareach1
#chown vsftpd.vsftpd /var/ftp/shareach1
 
好了, service vsftpd restart
类别: linux
发布日期: 2008-8-31 10:58
原文地址:https://www.cnblogs.com/yinpengxiang/p/1416121.html