vsftpd--
虚拟用户登陆
实验名称:
vsftpd--
虚拟用户登陆
系统:
redhat linux 5.0
实验过程:
FTP
服务器配置
1
.安装
FTP
服务的相关软件
方法一:
RPM
命令
#rpm -ivh vsftpd- 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
主配置文件
要使用虚拟账户登录,必须关闭匿名用户登录,打开本地用户登录,同时要配置虚拟账号登录的配置文件。
Anonymous_enable=NO
禁止匿名用户登录
Local_enable=YES
开启本地用户登录
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
密码
第二步:生成数据库文件
保存虚拟帐号和密码的文本文件无法被系统帐号直接调用,我们需要把文本文件转换为数据库文件,这样才能被直接调用。
生成数据库需要使用
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
的安装光盘中获取,如下图:
选择安装即可。
Ok
,我们现在使用
db_load
把文本文件转换为数据库文件,
db-load �CT �Ct hash �Cf /etc/vsftpd/user /etc/vsftpd/user.db
如下图:
第三步:
修改数据库文件访问权限
为了防止非法用户的盗取,我们将刚刚保存用户名和密码的数据库文件进行权限的修改,只能够让
root
用户可读可写。
chmod 600 /etc/vsftpd/user.db
如下图所示:
权限如下图所示:
(
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
,希望大家多多指点,谢谢
本文出自 “刘永宏 linux” 博客,谢绝转载!