vsftpd--虚拟用户登陆

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” 博客,谢绝转载!

你可能感兴趣的:(职场,vsftpd,pam,休闲, , ,虚拟账号的创建)