vsftpd--
虚拟用户登陆
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
实验名称:
vsftpd--
虚拟用户登陆
系统:
redhat linux 5.0
实验过程:
FTP服务器配置
1.安装FTP服务的相关软件
方法一:RPM命令
#rpm -ivh vsftpd-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.1.3-8.i386.rpm
方法二:编译方式
(1)编译VSFTPD
[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
[root@hpe45 root]# cd vsftpd-1.2.0
[root@hpe45 vsftpd-1.2.0]# make
(2)安装编译好的VSFTPD
[root@hpe45 vsftpd-1.2.0]# make install
[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
(3).创建用户账号
[root@hpe45 root]# mkdir /var/ftp/redhat
[root@hpe45 root]# mkdir /var/ftp/windows
[root@hpe45 root]# useradd -d /var/ftp/redhat redhat
[root@hpe45 root]# useradd -d /var/ftp/windows windows
[root@hpe45 root]# chown root.root /var/ftp
[root@hpe45 root]# chmod og-w /var/ftp
2.配置服务器
(
1
)修改
vsftpd.conf
主配置文件
要使用虚拟账户登录,必须关闭匿名用户登录,打开本地用户登录,同时要配置虚拟账号登录的配置文件。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
Anonymous_enable=NO
禁止匿名用户登录
Local_enable=YES
开启本地用户登录
![](https://i-blog.csdnimg.cn/blog_migrate/8e4d59d65406914437d84f7d0bb49ade.jpeg)
Chroot_list_enable=YES
是将用户的主目录锁定在自家中
Chroot_list_file=/etc/vsftpd/chroot_list
在
/etc/vsftpd/chroot_list
中的用户都是能够访问服务的,可以将能访问服务的用户添加到该文本中。
Guest_enable=yes :
开启虚拟帐号登录
Guest_username=linux :
设置
ftp
对应的系统帐号为
linux
Pam_service_name=vsftpd :
配置
vsftpd
使用的
PAM
模块为
vsftpd
Userlist_enable=yes :
这项如果是
yes
,那么在
/etc/vsftpd/
的
user_list
中的用户将不能访问
ftp
Listen_address=192.168.1.102 :
监听地址为:
192.168.1.102
Listen_port=21
:监听端口为
21
Max_clients=300
:客户端访问的最大数为
300
Max_per_ip=10 :
同一个客户端与服务器的最大并发连接数为
10
Tcp_wrappers=yes :
设置服务器是否启用
tcp_wrappers
Chroot_local_user=yes :
将所有的本地用户锁定在家目录中
User_config_dir=/etc/vsftpd/conf :
设置虚拟帐号的主目录为
/etc/vsftpd/conf
(2)
、创建用户数据库
第一步:创建用户文本文件
先建立用户文本文件
user.txt
,添加两个虚拟帐号,
redhat
和
windows
touch /etc/vsftpd/user
vim /etc/vsftpd/user
格式:
虚拟帐号
1
密码
虚拟帐号
2
密码
![](https://i-blog.csdnimg.cn/blog_migrate/a381f3b704a5aa3f1ca57f54449a478d.jpeg)
第二步:生成数据库文件
保存虚拟帐号和密码的文本文件无法被系统帐号直接调用,我们需要把文本文件转换为数据库文件,这样才能被直接调用。
生成数据库需要使用
db_load
这个工具,而
db_load
需要安装:
db4-4.3.29-9.fc6.i386.rpm
;
db4-devel-4.3.29-9.fc6.i386.rpm
;
db4-utils-4.3.29-9.fc6.i386.rpm
这三个软件,这三个软件可以从
RedHat5.0
的安装光盘中获取,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/99d0fe4468ec4c377a38f0b4beb5c4af.jpeg)
选择安装即可。
Ok
,我们现在使用
db_load
把文本文件转换为数据库文件,
db-load –T –t hash –f /etc/vsftpd/user /etc/vsftpd/user.db
如下图:
第三步:
修改数据库文件访问权限
为了防止非法用户的盗取,我们将刚刚保存用户名和密码的数据库文件进行权限的修改,只能够让
root
用户可读可写。
chmod 600 /etc/vsftpd/user.db
如下图所示:
权限如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/6f733f4bc6a81d8797bfe60614d6c80f.jpeg)
(3)配置PAM文件
为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的
pam
,通过修改指定的配置文件,调整对该程序的认证方式。
PAM
模块配置文件路径为
/etc/pam.d/
目录,此目录下保存着大量与认证有关的配置文件,并以服务名称命名。
说明:
PAM
模块
.PAM(Plugable Authentication Module)
为可插拔认证模块
打开
vi /etc/pam.d/vsftpd,
配置后如下图所示:
(
4
)启动服务
#service vsftpd restart
如下图所示:
3.
测试账号
首先用
redhat
账户登录
用户名和密码争取后,登录成功后,上传一个文件,如下图所示:
另一个账户
windows
,测试跟
RedHat
账户测试一样。
总结:用
vsftpd
做虚拟账户登录如以上所述,希望大家可以学习,如果有步骤不对或大家不明确的地方请加
QQ
:
421089190
,希望大家多多指点,谢谢
转载于:https://blog.51cto.com/ahxhlyh/435319