在Linux上配置FTP服务

更新时间:2023-09-03 13:14:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

使用proftpd和mysql实现

在Linux服务器上配置FTP服务

使用ProFTPd提供FTP服务,并使用MySQL进行用户认证。

安装并启动MySQL

下载mysql-5.1.35-linux-x86_64-glibc23.tar.gz,并上传到服务器的/usr/local目录下。

#groupadd mysql

#useradd -g mysql mysql

#cd /usr/local

#tar xzvf mysql-5.1.35-linux-x86_64-glibc23.tar.gz

#ln -s /usr/local/mysql-5.1.35-linux-x86_64-glibc23 mysql

#cd mysql

#chown -R mysql

#chgrp -R mysql

#scripts/mysql_install_db --user=mysql

#chown -R root

#chown -R mysql data

#bin/mysqld_safe --user=mysql &

配置MySQL

使用root登录mysql:

#/usr/local/mysql/bin/mysql –h gam-dev2-6 –u root –p

执行以下命令:

mysql>create database ftpdb

mysql>grant select,update,insert,delete on ftpdb.* to ftp@"%" identified by 'ftppwd'; mysql>use ftpdb

mysql>create table ftpgroup(

->groupname varchar(16) not null default '',

->gid smallint(6) not null default '5500',

->members varchar(16) not null default '',

->key groupname(`groupname`)

->) type=MyISAM;

mysql>insert into ftpgroup values('ftpgroup',5500,'ftpuser');

mysql>create table ftpuser(

->id int(10) unsigned not null auto_increment,

->userid varchar(32) not null default '',

->passwd varchar(32) not null default '',

使用proftpd和mysql实现

->uid smallint(6) not null default '5500',

->gid smallint(6) not null default '5500',

->homedir varchar(255) not null default '',

->shell varchar(16) not null default '/sbin/nologin',

->count int(11) not null default '0',

->accessed datetime not null default '0000-00-00 00:00:00',

->modified datetime not null default '0000-00-00 00:00:00',

->primary key(‘id’)

->) type=MyISAM ;

mysql>insert into ftpuser(userid,passwd,uid,gid,homedir,shell) values

->('cmgpuser','cmgpuser',5501,5500,'/apps/var/cmgpuser','/sbin/nologin');

#下面这个用户是为了模拟中心BOSS的FTP使用的。

mysql>insert into ftpuser(userid,passwd,uid,gid,homedir,shell) values

->('boss','boss',5502,5500,'/apps/var/boss','/sbin/nologin');

安装ProFTPd

由于需要使用MySQL认证,因此在编译ProFTPd的时候需要添加MySQL支持 下载proftpd-1.3.2.tar.gz,并上传到服务器。

#tar xzvf proftpd-1.3.2.tar.gz

#cd proftpd-1.3.2

#./configure -prefix=/usr/local/proftpd -with-modules=mod_sql:mod_sql_mysql -with-includes=/usr/local/mysql/include -with-libraries=/usr/local/mysql/lib

#make

#make install

配置ProFTPd

修改/usr/local/proftpd/etc/proftpd.conf,添加以下内容:

########################################

DefaultRoot ~

SQLAuthTypes Plaintext Crypt

SQLAuthenticate users* groups*

SQLConnectInfo ftpdb@localhost ftp ftppwd

SQLUserInfo ftpuser userid passwd uid gid homedir shell

SQLGroupInfo ftpgroup groupname gid members

SQLMinID 500

SQLHomedirOnDemand on

SQLLog PASS updatecount

SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

使用proftpd和mysql实现

SQLLog STOR,DELE modified

SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser DeferWelcome on

RootLogin off

RequireValidShell off

########################################

启动ProFTPd

#/usr/local/proftpd/sbin/proftpd

本文来源:https://www.bwwdw.com/article/ruri.html

Top