Vsftpd 配置虚拟用户
 
 
 
 
一、   ftp 传输模式简介
1.   主动模式
又ftp客户端向服务器的控制端口 21 发送连接请求,服务器接受并建立一条连接命令,数据传输时,服务器从20端口向客户端发连接请求,建立传输数据的链路
2.   被动模式
由客户端向服务器的控制端口发送连接请求,服务器接受后建立一条命令,当传输数据时,有客户端随机生成一个大于1024的端口向服务器连接,建立一条数据传输的链路。
二、   ftp 常用软件
 
wu-ftpd proftpd vsftpd
 
三、   vsftpd 安装配置
 
1.   安装包
Yum –y install vsftpd
2.   主配置文件
 
vi /etc/vsftpd/vsftpd.conf
 
anonymous_enable=NO
## 禁用匿名访问
local_enable=YES
## 润徐本地用户登录
write_enable=YES
## 开放本地用户写权限
local_umask=022
##可用权限 掩码
dirmessage_enable=YES
##显示messge的隐含文件
xferlog_enable=YES
##启用日志的上传下载功能
connect_from_port_20=YES
##启用数据端口的链接请求
xferlog_std_format=YES
## 使用标准的日志格式
listen=YES
## 服务器处于独立启动模式
tcp_wrappers=YES
## 基于主机的访问控制 润徐:hosts.allow 拒绝:hosts.deny
3.   控制列表
① .黑名单 /etc/vsftpd.ftpusers
② .黑白名单 /etc/vsftpd.user_list
可以在主配置文件vsftpd.conf中设置
userlist_enable=YES
userlist_deny=YES/NO ##yes为禁止 no为润徐
③ .设置将本地用户禁锢在宿主目录中
在主配置文件vsftpd.conf中设置
Chroot_local_user=YES
4.   服务启动
Service vsftpd start
Chkconfig –level 35 vsftpd on
 
四、   虚拟用户配置
 
 
需求 建立三个用户使用相同根目录
每个用户权限不同
admin 读 写 删除
ftpuser 读 写
haifeng 读 (下载)
 
1.   创建虚拟用户的口令库文件,即用户的账户密码
 
vi /etc/vsftpd/user.txt
 
admin
123456
ftpuser
123456
haifeng
123456
 
格式为奇数行是账号名,偶数行是对应的密码。
2.   生成vsftpd的认证库文件(以 .db 结尾的数据库文件)
db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/rz.db
chmod 600 rz.db
 
注:如果没有db_load命令,可以使用 yum –y install db4 安装
3.   建立虚拟用户所需要的pam配置文件 =》调用上面的认证文件
 
vi /etc/pam.d/vsftpd.vu
 
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/rz
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/rz
 
4.   建立虚拟用户要访问的目录并设置相应的权限
 
useradd -d /home/ftp/ vuser
chmod 700 /home/ftp
 
5.   在主配置文件vsftpd.conf中添加如下设置
 
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu
 
 
6.   针对不同虚拟用户设置不同权限
 
① .创建目录
.      mkdir /etc/vsftpd/vuser_conf
 
② . 在主配置文件vsftpd.conf中添加如下设
 
user_config_dir=/etc/vsftpd/vuser_conf
 
③ .在目录中设置个用户的权限
 
Vi /etc/vsftpd/vuser_conf /admin
 
## 读写下载
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
Vi /etc/vsftpd/vuser_conf /ftpuser
 
## 读写
 
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=NO
 
 
Vi /etc/vsftpd/vuser_conf /haifeng
 
##只能下载
 
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
 
7.   重启vsftpd服务
 
Service vsftpd restart
 
8.   测试
 
C:\Documents and Settings\Administrator>ftp 192.168.36.114
Connected to 192.168.36.114.
220 (vsFTPd 2.0.5)
User (192.168.36.114:(none)): admin
331 Please specify the password.
Password:
230 Login successful.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwx------     2 503      503          4096 Mar 09 08:08 abc
226 Directory send OK.
ftp: 收到 61 字节,用时 0.00Seconds 61000.00Kbytes/sec.
ftp> mkdir haifeng
257 "/haifeng" created
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwx------     2 503      503          4096 Mar 09 08:08 abc
drwx------     2 503      503          4096 Mar 09 08:54 haifeng
226 Directory send OK.
 
为了节省时间,只测试其中一个。至此虚拟用户搭建完毕。。。