Chinaunix首页 | 论坛 | 博客
  • 博客访问: 404012
  • 博文数量: 67
  • 博客积分: 1742
  • 博客等级: 上尉
  • 技术积分: 753
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-15 01:54
文章分类

全部博文(67)

文章存档

2014年(1)

2013年(4)

2012年(1)

2011年(9)

2010年(29)

2009年(23)

我的朋友

分类: LINUX

2009-07-02 12:53:57

vsftp的虚拟账户,先建立.txt文件添加虚拟账户,然后通过系统的db_load指令来转换成.db文件,这样才可以被PAM模块识别.这一块经常有人会遇到问题,说无法找到这个指令,其实这个指令是由伯克利大学开发的一个数据库相关操作,很多别的地方也需要使用到它,除vsftp以外,还有sendmail也会使用到它.
下面我把他的简单配置发出来,这样就可以正常在转换db文件时候使用db_load指令了.
#使用vsftp建立虚拟账户时候,手工建立vuser.txt,然后使用db_load生成db数据库文件.
[root@centos ftp]# db_load
-bash: db_load: command not found
#检查系统db包
[root@centos ftp]# rpm -qa db4
db4-4.3.29-9.fc6
#需要进入光盘选择db工具安装
[root@centos ftp]# ls -lh /mnt/cdrom/CentOS/ |grep db4
-rw-r--r-- 2 root      root       918K 2007-11-19 db4-4.3.29-9.fc6.i386.rpm
-rw-r--r-- 2 root      root       2.0M 2007-11-19 db4-devel-4.3.29-9.fc6.i386.rpm
-rw-r--r-- 2 root      root       1.8M 2007-11-19 db4-java-4.3.29-9.fc6.i386.rpm
-rw-r--r-- 2 root      root       1.1M 2007-11-19 db4-tcl-4.3.29-9.fc6.i386.rpm
-rw-r--r-- 2 root      root       119K 2007-11-19 db4-utils-4.3.29-9.fc6.i386.rpm
#将没有安装的四个db包安装即可使用指令.
[root@centos src]# db_
db_archive     db_dump        db_printlog    db_upgrade    
db_checkpoint  db_dump185     db_recover     db_verify     
db_deadlock    db_load        db_stat


vsftp访问FTP用户根目录以外的数据的实现方法

在Linux里,把自动备份放到另外的目录。如:/home/user1/databackup

但同时希望在不改动FTP权限及用户根目录的的基础上,仍然可以通过FTP下载这些备份文件。

假设FTP用户为user2,其FTP根目录是/home/user2。

首先想到的是用ln建立连接,但发现以下问题:

第一,硬链接只支持文件链接,不支持目录链接,而且要求文件在同一个文件系统。

第二,vsftp默认配置不支持ln连接。(建了软连接以后,从FTP目录的软连接打不开文件夹,或许就算打开进去了,退回上级目录也是个问题。

换个思路,使用mount --bind把目录加载过来就可以了:

在/home/user2下建一个databackup文件夹,即:/home/user2/databackup,

然后执行下面的命令把/home/user1/databackup挂载到/home/user2/databackup即可。

mount --bind /home/user1/databackup /home/user2/databackup

以后要解除挂载时,执行如下命令把/home/user2/databackup目录的挂载卸掉即可。

umount /home/user2/databackup

阅读(1746) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~