Vsftp虚拟用户篇配置文档

2012年7月3日 | 标签:

前提:创建ftp虚拟用户,并且为每个用户指定特定的目录

检查是否安装了vsftp服务

[root@localhost ~]# rpm -qa | grep vsftp

vsftpd-2.0.5-16.el5_6.1

下载系统原有的vsftp服务

[root@localhost ~]# rpm -e vsftpd

如果没有安装 则利用系统自带的yum安装

[root@localhost ~]# yum install vsftpd

安装后启动vsftp服务

[root@localhost ~]# /etc/init.d/vsftpd start

为 vsftpd 启动 vsftpd:                                    [确定]

将服务默认配置文件备份,方便还原

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

[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak

cp:是否覆盖“vsftpd.conf.bak”? y

[root@localhost vsftpd]#

下面开始配置vsftp服务器

创建一个虚拟用户的宿主用户(也就是本地用户)

[root@localhost vsftpd]# cd

[root@localhost ~]# useradd ftpuser-virtual -s /sbin/nologin

[root@localhost ~]# passwd ftpuser-virtual

Changing password for user ftpuser-virtual.

New UNIX password:

BAD PASSWORD: it is too simplistic/systematic

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]#

创建ftp虚拟用户账号 账号格式 如下

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

[root@localhost vsftpd]# touch virtual_user.txt

[root@localhost vsftpd]# vi virtual_user.txt

383k

123456

513b

123456

[root@localhost vsftpd]#

将账号文件转化为数据库文件(需要检查是否安装了db4这个包)

yum install db4*

[root@localhost vsftpd]# rpm -qa | grep db4

[root@localhost vsftpd]# db_load -T -t hash -f virtual_user.txt virtual_user.db

[root@localhost vsftpd]#

下面配置vsftpd.conf文件 添加下列语句,并更改pam_service_name=vsftpd 为pam_service_name=vsftpd.pam 另外guest_username需要和创建的ftp宿主用户一致,vsftpd.pam为新创建的文件 在/etc/pam.d/vsftpd.pam

guest_enable=YES

guest_username=ftpuser-virtual

pam_service_name=vsftpd.pam

#pam_service_name=vsftpd

创建vsftpd.pam文件,文件内容如下(virtual_user 需要和生成的用户数据库文件对应)

[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.pam

auth    required        /lib/security/pam_userdb.so     db=/etc/vsftpd/virtual_user

account required        /lib/security/pam_userdb.so     db=/etc/vsftpd/virtual_user

将虚拟用户配置文件路径添加到vsftpd.conf配置文件中去

user_config_dir=/etc/vsftpd/ftpuser-config

mkdir ftpuser-config

Vi ftpuser-config/513b

local_root=/home/www/gameinfo

download_enable=yes

anon_upload_enable=yes

anon_other_write_enable=yes

anon_mkdir_write_enable=yes

anon_world_readable_only=no

local_umask=022

anon_umask=022

chroot_local_user=yes

 

重新启动vsftp服务

[root@localhost ftpuser-config]# /etc/init.d/vsftpd restart

关闭 vsftpd:                                              [确定]

为 vsftpd 启动 vsftpd:                                    [确定]

 

 

参考文件

Service iptables stop

setsebool -P ftpd_disable_trans 1

解决  cannot change directory

http://blog.sina.com.cn/s/blog_4851ec7e0100cwrm.html

http://wiki.ubuntu.org.cn/Vsftpd%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE

http://www.cnblogs.com/acpp/archive/2010/02/09/1666649.html

Chroot_local_user=yes

目前还没有任何评论.


seven + = 15