ftp服务器虚拟用户访问(for linux平台)

ftp服务器虚拟用户访问(for linux平台)

 

.配置yum,以便安装软件包

   yum全局文件编辑目录:  /etc/yum.repos.d/rhel-source.repo

[root@wanghong ~]# vim //etc/yum.repos.d/rhel-source.repo

#[rhel-source]

#name=Red Hat Enterprise Linux $releasever - $basearch - Source

#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPMS/

#enabled=0

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

#[rhel-source-beta]

#name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source

#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/

#enabled=0

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[wanghong]

Name=123

Baseurl=file:///mnt/Server

enable=1

gpgcheck=0

备注: #是注释作用,在此对文件没用任何影响,可以去掉

.安装db4-utils-4.3.29-9.fc6.i386.rpm软件包

[root@wanghong ~]#yum install db4-utils-4.3.29-9.fc6.i386.rpm

或者使用rpm –ivh  /mnt/Packages/db4-utils-4.3.29-9.fc6.i386.rpm  --force 强制安装

 

1.      建立虚拟用户的用户名/密码数据库

[root@wanghong ~]#vim  /etc/vsftpd/vusers.list

   Mike

   123

   John

   456

备注: 奇数行为用户名,偶数行为上一行中用户所对应的密码

 

使用db_load工具将列表文件转化为DB数据库文件

[root@wanghong ~]#cd  /etc/vsftpd

[root@wanghong vsftpd]#db_load  -T  -t hash  -f  vusers.list   vusers.db

-T选项允许非Berkeley DB的应用程序使用从文本格式转换的DB数据库文件

-t hash 选项指定读取数据文件的基本方法

-f  选项用于指定用户名和密码列表文件

2.建立ftp访问的根目录及虚拟用户对应的系统账号

[root@wanghong ~]#useradd –d  /var/ftproot –s /sbin/nologin  virtual

                                                  建立映射账号virtual

[root@wanghong ~]#chmod 755 /var/ftproot         

                                                  更改ftp根目录权限

[root@wanghong ~]#ls –lh  /boot  > /var/ftproot/vutest.file

                                                  建立测试文件

3.建立PAM认证文件

PAM配置文件主要用于为程序提供用户认证控制,vsftpd服务使用的默认PAM配置文件为/etc/pam.d/vsftpd

[root@wanghong ~]#vim  /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth        required          pam_userdb.so   db=/etc/vsftpd/vusers

account     required          pam_userdb.so   db=/etc/vsftpd/vusers

配置时注意将db选项指定为先前建立的虚拟用户数据库文件vusers(省略db扩展名)

 

4.修改vsftpd.conf配置文件,添加虚拟用户支持

   vsftpd.conf配置文件中添加guest_enableguest_username配置项,将访向ftp服务的所有虚拟用户对应到同一系统用户账号virtual,并修改pam_service_name配置项,指向上一步建立的PAM配置文件/etc/pam.d/vsftpd.vu

[root@wanghong ~]#vim /etc/vsftpd/vsftpd.conf

        anonymous_enable=NO

local_enable=YES                  备注:使用虚拟用户需启用本地用户

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

 

pam_service_name=vsftpd.vu             备注:修改使用的PAM文件位置

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES                        备注:启用用户映射功能

guest_username=virtual                 备注:将映射用户指定为virtual

 

5.为不同的虚拟用户建立独立的配置文件

   为虚拟用户john添加上传文件、创建目录的权限

[root@wanghong ~]#vim  /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir  //添加此行配置项,指定用户配置目录位置

   为用户mikejohn建立独立的配置目录及文件

[root@wanghong ~]#mkdir  /etc/vsftpd/vusers_dir      //创建用户目录

[root@wanghong ~]#cd  /etc/vsf  tpd/vusers_dir

[root@wanghong  vusers_dir]#vim  john

   anon_upload_enable=YES

   anon_mkdir_write_enable=YES

[root@wanghong  vusers_dir]#touch  mike             //mike建立空配置文件(无额外权限设置)

 

6.测试虚拟用户访问ftp服务

   首先需重启vsftpd服务,分别使虚拟用户mikejohnftp服务器上下载,上传文件,最后使用匿名和本地用户去登录ftp服务器

 

 

 

本文出自 “学海无涯苦作舟!” 博客,谢绝转载!

你可能感兴趣的:(linux,用户,FTP服务器)