服务器 频道

linux下用Proftpd搭建ftp服务器及配置

  配置proftpd.conf文件

  编辑/usr/local/proftpd/etc/proftpd.conf文件:

  设置磁盘限额

  #设置磁盘限额

  QuotaDirectoryTally on

  #设置磁盘容量显示时的单位

  QuotaDisplayUnits "Kb"

  #打开磁盘限额引擎

  QuotaEngine on

  #设置磁盘限额日志文件

  QuotaLog "/usr/local/proftpd/var/quota"

  #允许显示磁盘限额信息,ftp登录后可执行quote site quota命令查看当前磁盘使用情况

  QuotaShowQuotas on

  指定磁盘限额模块使用的数据库信息

  在proftpd.conf文件中加入以下配置:

  SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, \

  bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits \

  WHERE name = '%{0}' AND quota_type = '%{1}'"

  SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, \

  bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies \

  WHERE name = '%{0}' AND quota_type = '%{1}'"

  SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, \

  bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, \

  files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, \

  files_xfer_used = files_xfer_used + %{5} \

  WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies

  SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies

  QuotaLimitTable sql:/get-quota-limit

  QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

  很多朋友就要问了:这些是什么东东啊?完全看不懂!我也不懂!继续照做就是了~~

  配置FTP用户为MySQL数据库认证方式

  在proftpd.conf文件中加上以下配置:

  SQLConnectInfo databaseName@hostName:port userName password

  #databaseName是为proftpd建立的MySQL数据库的名字

  #hostName是MySQL数据库所在的服务器的名字或ip地址

  #port是MySQL服务所使用的端口

  #userName是数据库的用户名

  #password是数据库用户密码

  SQLAuthTypes Backend Plaintext

  #Backend表示用户认证方式为MySQL数据库的认证方式

  #Plaintext表示明文认证方式,排在最前面的为最先使用的方式

  SQLUserInfo ftpUser userid passwd uid gid homedir shell

  #指定ftp用户数据表的名字和其中的字段名,表名可自行定义,字段名不要改动。

  SQLGroupInfo ftpGroup groupname gid members

  #指定ftp用户组数据表的名字和其中的字段名,这个数据表是可选的,字段名不要改动。

  RequireValidShell off

  #指定是否必须为FTP用户指定一个系统shell,off表示不用指定,on表示必须指定。为了系统安全应该指定为off。

  SQLAuthenticate users groups usersetfast groupsetfast

  #校验数据表

  SQLHomedirOnDemand on

  #如果用户主目录不存在,则系统会根据此用户在用户数据表中的homedir字段的值新建一个目录

0
相关文章