ProFTPd服务安装设置
创始人
2024-07-21 10:41:31
0

  使用 Proftpd 有个好处,可以用其它方式认证,不用实体帐号登入,可以减少试帐号机会。

  这次利用mysql 数据库,

  环境:Ubuntu 6.06.1 LTS

  1. 安装 proftpd-mysql 套件

  sudo apt-get install proftpd-mysql

  2. 设定 mysql 帐号

  mysql -u root -p

  create database ftp;

  GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO ‘proftpd’@'localhost’ IDENTIFIED BY ‘password’;

  FLUSH PRIVILEGES;

  3. 建立mysql资料库

  1.   CREATE TABLE ftpgroup (  
  2.  
  3.   groupname varchar(16) NOT NULL default ”,  
  4.  
  5.   gid smallint(6) NOT NULL default ‘5500′,  
  6.  
  7.   members varchar(16) NOT NULL default ”,  
  8.  
  9.   KEY groupname (groupname)  
  10.  
  11.   TYPE=MyISAM COMMENT=’ProFTP group table’;  
  12.  
  13.   CREATE TABLE ftpuser (  
  14.  
  15.   id int(10) unsigned NOT NULL auto_increment,  
  16.  
  17.   userid varchar(32) NOT NULL default ”,  
  18.  
  19.   passwd varchar(32) NOT NULL default ”,  
  20.  
  21.   uid smallint(6) NOT NULL default ‘5500′,  
  22.  
  23.   gid smallint(6) NOT NULL default ‘5500′,  
  24.  
  25.   homedir varchar(255) NOT NULL default ”,  
  26.  
  27.   shell varchar(16) NOT NULL default ‘/sbin/nologin’,  
  28.  
  29.   count int(11) NOT NULL default ‘0′,  
  30.  
  31.   accessed datetime NOT NULL default ‘0000-00-00 00:00:00′,  
  32.  
  33.   modified datetime NOT NULL default ‘0000-00-00 00:00:00′,  
  34.  
  35.   PRIMARY KEY (id),  
  36.  
  37.   UNIQUE KEY userid (userid)  
  38.  
  39.   ) TYPE=MyISAM COMMENT=’ProFTP user table’;  
  40.  

  4. 设定 proftpd.conf

  让 proftp 可以用 mysql 资料认证

  1.   SQLBackend mysql # 使用 mysql 资料库为主  
  2.  
  3.   SQLAuthTypes Backend # 密码认证 已 PASSWORD() 产生为主  
  4.  
  5.   SQLAuthenticate on  
  6.  
  7.   SQLConnectInfo ftp@localhost proftpd password # MySQL 连线资讯,资料库名称@主机 帐号 密码  
  8.  
  9.   SQLUserInfo ftpuser userid passwd uid gid homedir shell # 使用者资料库栏位  
  10.  
  11.   SQLGroupInfo ftpgroup groupname gid members # 群组资料库栏位  
  12.  
  13.   SQLLogFile /var/log/proftpd/sql.log # SQL Log 档  
  14.  
  15.   SQLHomedirOnDemand on # 当 Home 目录不存在,会自己产生。  
  16.  
  17.   SQLLog PASS updatecount # SQL Log 格式,当正确登入时,要执行的 SQL 语法  
  18.  
  19.   SQLNamedQuery updatecount UPDATE “countcount=count+1, accessed=now() where userid=’%u’” ftpuser  
  20.  
  21.   SQLLog STOR,DELE modified # SQL Log 格式,当储存或删除档案时,要执行的 SQL 语法  
  22.  
  23.   SQLNamedQuery modified UPDATE “modified=now() where userid=’%u’” ftpuser  
  24.  
  25.   RequireValidShell off  
  26.  

  5. 建立使用者帐号

  1.   mysql -u root -p  
  2.  
  3.   insert into ftp (userid, passwd , uid, gid , homedir ) values (’ubuntu_user’,password(’12345′), ‘5500′,’5500′,’/home/ftp/ubuntu_user’);  
  4.  

  建立 ubuntu_user 帐号,密码为 12345 ,目录位于 /home/ftp/ubuntu_user , uid / gid 为此 user 上传档案时的 uid / gid。

  6. 重新启动 Proftpd

  sudo /etc/init.d/proftpd restart

  请用刚刚建立好的帐号登入看看,若顺利就可以登入指定目录内。

  7. 除错

  有任何问题,请检查 sql.log ,会有资讯说明错误的原因。

【编辑推荐】

  1. 用MySQL和Proftpd配置FTP服务器
  2. ProFTPD 下的五大问题
  3. Linux ProFTPd服务器配置(全)
  4. ProFTPD的配置文件proftpd.conf
  5. ProFTPD的启动与测试
  6. 手把手教你 配置ProFTPD服务器
  7. ProFTPd的启动
  8. 在图形界面下控制ProFTPD

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...