天天看点

Vsftpd配置虚拟用户

<b>Vsftpd</b><b>配置虚拟用户</b>

<b>一、   </b><b>ftp</b><b>传输模式简介</b>

1.   主动模式

又ftp客户端向服务器的控制端口 21 发送连接请求,服务器接受并建立一条连接命令,数据传输时,服务器从20端口向客户端发连接请求,建立传输数据的链路

2.   被动模式

由客户端向服务器的控制端口发送连接请求,服务器接受后建立一条命令,当传输数据时,有客户端随机生成一个大于1024的端口向服务器连接,建立一条数据传输的链路。

<b>二、   </b><b>ftp</b><b>常用软件</b>

wu-ftpd proftpd vsftpd

<b>三、   </b><b>vsftpd</b><b>安装配置</b>

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

<b>四、   </b><b>虚拟用户配置</b>

需求 建立三个用户使用相同根目录

每个用户权限不同

admin 读 写 删除

ftpuser 读 写

haifeng 读 (下载)

1.   创建虚拟用户的口令库文件,即用户的账户密码

vi /etc/vsftpd/user.txt

admin

123456

ftpuser

haifeng

格式为奇数行是账号名,偶数行是对应的密码。

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

## 读写下载

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

download_enable=Yes

Vi /etc/vsftpd/vuser_conf /ftpuser

## 读写

download_enable=NO

Vi /etc/vsftpd/vuser_conf /haifeng

##只能下载

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

download_enable=yes

7.   重启vsftpd服务

Service vsftpd restart

8.   测试

C:\Documents and Settings\Administrator&gt;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&gt; 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&gt; mkdir haifeng

257 "/haifeng" created

drwx------    2 503      503          4096 Mar 09 08:54 haifeng

为了节省时间,只测试其中一个。至此虚拟用户搭建完毕。。。