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.
为了节省时间,只测试其中一个。至此虚拟用户搭建完毕。。。
转载于:https://blog.51cto.com/lhflinux/510836