vsftpd for Ubuntu虚拟用户配置专版

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
chinasupermanzk
帖子: 2
注册时间: 2008-04-09 10:47

vsftpd for Ubuntu虚拟用户配置专版

#1

帖子 chinasupermanzk » 2008-04-18 22:50

网上看了很多VSFTPD配置虚拟用户的文章,照配置都不成功,好像不太适合UBUNTU,要不就是少
了点命令,今天做实验成功,分享给大家,与君共勉。
本人假设你知道SUDO(有点搞笑哈),还假设你知道#号后边的都是说明(更搞笑了)_
还有本人使用Ubuntu7.10 ubuntu.cn99.com/源
首先安装VSFTPD

代码: 全选

apt-get install vsftpd  #此版本好像有编码问题,在windwos下看FTP中中文为乱码(望高手解答)
实验目的:利用虚拟用户可实现不同用户拥有不同权限的要求

第一步:建立本地虚拟用户(Create the local virtual user)

代码: 全选

useradd -d /opt/ftp-server virtual       #新建virtual用户,指定主目录为/opt/ftp-server
mkdir /opt/ftp-server virtual  


第二步:建立虚拟用户数据库(Create the virtual users database)
用户手工建立文本文件logins.txt (保存到/tmp中)
logins.txt文件内容

代码: 全选

download
123
upload
234
admin
345   
注:奇数行为用户名,偶数行为密码.

转换TXT文件为DB文件(DB应该是数据库文件吧*_*,反正我不知道)

代码: 全选

apt-get install libdb3-util    #没安装这个软件包,db3_load命令就不能使用。
db3_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db 
第三步:建立基于vsftpd_login的PAM授权文件(Create a PAM file which uses your new database)[此处也可用mysql建立用户信息]

代码: 全选

cp /etc/pam.d/vsftpd /etc/pam.d/ftp.vu  #建立认证文件 
#编辑文件将所有内容删除,将下面两句添加其中,保存。

代码: 全选

gedit /etc/pam.d/ftp.vu    
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login[/code]

第四步: 修改vsftpd.conf文件内容如下:(Create your vsftpd.conf config file)

代码: 全选

anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES          #启用虚拟用户
guest_username=virtual      #将虚拟用户转换成本地用户virtual
user_config_dir=/etc/vsftpd/   #虚拟用户的配置文件存放目录
listen=YES
secure_chroot_dir=/tmp     #此句必要,很多网上教程没有加这句。
pam_service_name=ftp.vu   #此句为指定认证文件
user_config_dir=/etc/vsftpd/  #指定虚拟用户配置文件存放的目录
listen=YES
第五步: 建立针对虚拟用户库中不同用户的权限文件(第四步中已指定存放位置)
(在主目录virtual主目录下创建三个文件夹:download,upload,admin)

代码: 全选

mkdir /opt/ftp-server/download
mkdir /opt/ftp-server/upload
mkdir /opt/ftp-server/admin
#方法一、将这三个文件夹权限改为所有人完全控制
chmod 777 –R /opt/ftp-server    
#方法二、还可以用chown virtual.virtual -R /opt/ftp-server命令改变属主
#然后使chmod 755 –R /opt/ftp-server这种方法更为安全。

代码: 全选

gedit /etc/vsftpd/download     #加下以下内容,保存。
download文件内容如下(只能下载权限)
=====================
local_root=/opt/ftp-server/download
anon_world_readable_only=NO 

代码: 全选

gedit /etc/vsftpd/upload     #加下以下内容,保存。
upload文件内容如下(可上传权限)
=====================
local_root=/opt/ftp-server/upload
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

代码: 全选

gedit /etc/vsftpd/admin     #加下以下内容,保存。
admin文件内容如下(管理权限)
=====================
local_root=/opt/ftp-server/admin
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anno_other_writer_enable=YES
第六步: 重新启动VSFTP
#检测一下配置文件有没有错误 ,如果有会提示你错误的option是多少。
/usr/sbin/vsftpd
#如果提示500 OOPS: vsftpd: must be started as root (see run_as_launching_user option)
#表示基本上成功了,再输入以下命令。
/etc/init.d/vsftpd restart

第七步: 测试(Test)
自己测试吧。

试试运气吧,呵呵。
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2008-04-18 22:52

不错
关注我的blog: ε==3
变色雨
帖子: 48
注册时间: 2007-07-21 22:31

#3

帖子 变色雨 » 2008-04-27 4:17

呵呵不错 ,感谢了 还是用虚拟用户好
头像
chinafenghao
帖子: 234
注册时间: 2007-12-18 21:50

#4

帖子 chinafenghao » 2008-04-28 18:27

不错哈,就是VSFTPD 必须要数据库吗?
jerrroy
帖子: 65
注册时间: 2008-05-30 14:11

#5

帖子 jerrroy » 2008-08-07 16:48

设置成功,非常感谢:)
jerrroy
帖子: 65
注册时间: 2008-05-30 14:11

#6

帖子 jerrroy » 2008-08-07 16:51

不过有一点,apt-get install libdb3-util #没安装这个软件包,db3_load命令就不能使用。

这个在8.04中没有的,需要apt-get install db4.x-util来安装,然后db4.x_load,x最新版是6
jerrroy
帖子: 65
注册时间: 2008-05-30 14:11

#7

帖子 jerrroy » 2008-08-25 14:21

请教一个问题,本地用户在终端直接访问ftp目录报错。。。。。。。。说没有权限,这个如何解决呢?

谢谢! :D :D
hunterzf
帖子: 4
注册时间: 2008-05-02 21:58

#8

帖子 hunterzf » 2008-08-27 15:21

jerrroy 写了:不过有一点,apt-get install libdb3-util #没安装这个软件包,db3_load命令就不能使用。

这个在8.04中没有的,需要apt-get install db4.x-util来安装,然后db4.x_load,x最新版是6

就是8.04里面怎么装都装不了,想问你你们谁有能装的源?
头像
dmg
帖子: 267
注册时间: 2008-09-13 11:08

Re: vsftpd for Ubuntu虚拟用户配置专版

#9

帖子 dmg » 2008-10-23 19:48

好,呵呵 。

刚刚弄了弄,终于可以用匿名进去了。
pp3721
帖子: 5
注册时间: 2008-11-20 22:10

Re: vsftpd for Ubuntu虚拟用户配置专版

#10

帖子 pp3721 » 2008-11-20 22:34

不好

添加用户太麻烦了

每次都要编写文件后生成数据
giantlab
帖子: 10
注册时间: 2007-10-12 19:55

Re: vsftpd for Ubuntu虚拟用户配置专版

#11

帖子 giantlab » 2009-07-05 14:55

偶试了3、4遍啦,怎么就是不成呢?而且用/usr/local/sbin/vsftpd 后,老是提示:could not bind listening IPv4 socket,郁闷!
giantlab
帖子: 10
注册时间: 2007-10-12 19:55

Re: vsftpd for Ubuntu虚拟用户配置专版

#12

帖子 giantlab » 2009-07-05 15:44

顺便说一下,我的操作系统是9.04 了
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: vsftpd for Ubuntu虚拟用户配置专版

#13

帖子 relaxssl » 2010-01-05 0:29

这个不适合ubuntu 9.10了。
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: vsftpd for Ubuntu虚拟用户配置专版

#14

帖子 Jarson » 2010-01-05 0:38

mark,之前也一直弄不成功这个虚拟用户
回复