#cd /soft/program/proftpd/sbin/
#./proftpd
此时一个基本的FTP服务器已经搭建成,可以进行测试了。需要注意的是,启动时如果出现具有以下信息的错误:
error while loading shared libraries:libmysqlclient.so.15:cannot open shared object file:No such file or directory
通常的解决办法如下:
#cd /etc
用文本工具打开ld.so.conf,添加以下的内容/soft/program/mysql/lib/mysql
#ldconflg
更新ld.so cache file。
要让ProFTPD自动启动在/etc/rc.d/rc.local中加入以下的内容,开机即可自启动ProFTPD:
/soft/program/proftpd/sbin/proftpd
二、MySQL与ProFTPD组合
在MySQL 中建立一个名为ftp的数据库,在该数据库中建立以下的四个表:
◆登录FTP服务器的用户表ftpusers,字段信息如下所示,这些字段是必需的,其他字段根据自己的需要添加,参考字段如下:
'userid' text NOT NULL #用户登录账号#
'passwd' text NOT NULL #用户登录密码#
'uid' int(11)NOT NULL default '2009', #与Linux系统账号ftpuser的UID号一致#
'gid' int(11)NOT NULL default '2009', #与Linux系统组#
ftpgroup 的GID号一致'homedir' text,用户文件上传下载目录,如账号名为abc,此处就填写/storage/abc,'shell' text default ,'/sbin/nologin'这个是用来指定用户是否能登录Linux系统,这里默认的是不能登录。
◆FTP用户归属表ftpgroups,字段信息如下所示,关于建立该组的目的将在quotalimits表中说明
'groupname' text NOT NULL #组名#
'gid' smallint(6) NOT NULL default'0',#组的id号#
'memembers' text NOT NULL #成员#
◆用于设置磁盘限额相关信息的表quotalimits和quotatallies,这两个表的字段请不要改动,它是与ProFTPD的配置文件紧密联系,quotalimits表的字段信息如下:
'name' varchar(30)default NULL,
'quota_type' enum('user','group','class','all')NOT NULL default 'user',
'per_session' enum('false','true')NOT NULL default'false',
'limit_type' enum('soft','hard')NOT NULL default'soft',
'bytes_in_avail'float NOT NULL default'0',
'bytes_out_avail'float NOT NULL default'0',
'bytes_xfer_avail'float NOT NULL default'0',
'files_in_avail'int(10) unsigned NOT NULL default'0',
'files_out_avail'int(10)unsigned NOT NULL default'0',
'files_xfer_avail'int(10)unsigned NOT NULL default'0'
需要注意的是,name应该这样理解,既能表示单个用户,也能表示用户组名。如果在quota_type(限额类型)中使用group来认证的话,那就得在这里设置组名,这样整组都具有统一的磁盘限额的特性,当然要在ftpgroups表中插入组记录,并且在member字段中得把用户一个一个的列进去。默认值可以为空NULL。如果为空,则针对所在有quota_type中设置的类型,比如在quota_type中设置为user,就是针对所有ftpusers中的用户起作用,如果是group名,也是对ftpgroups所有组作用。quota_type磁盘限额类型,可以设置为用户,也可以设置为用户组group。如果name写的是用户组,这里就得设置为group来认定。默认为user认证。per_session默认为false.limit_type默认为soft。Bytes_in_avail用户占用空间大小,也就是FTP用户空间容量,单位是byte,默认为0,0是不受限制,以下同理。bytes_out_avail所有下载文件的总和,默认为0。










