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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...