proftpd与mysql用户认证配置详解

发布时间:2020-09-12编辑:脚本学堂
本文介绍下,在solaris系统上安装proftpd,并实现mysql用户认证配置的方法,有需要的朋友可以参考下。

本节内容:
proftpd安装配置,mysql用户认证。

一,安装mysql
 
# 编译安装 mysql

#如果在solaris中,首先解决gcc的路径问题,否则gcc无法正常工作
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/bin
export PATH

 

复制代码 代码示例:
gzip -d mysql-3.23.47.tar.gz
tar -xvf mysql-3.23.47.tar
cd mysql-3.23.47
./configure --prefix=/usr/local/mysql
make
make install
cd /usr/local

#下面这一步很重要,否则mysql起不来
 

复制代码 代码示例:

chown -R mysql mysql

scripts/mysql_install_db

#让mysql自启动

#在solaris中
cd /etc/rc2.d

创建S67mysql文件
 

复制代码 代码示例:
#! /bin/sh
/usr/local/mysql/bin/safe_mysqld &

#在linux
vi /etc/rc.d/rc.local
 

复制代码 代码示例:

#只要修改rc.local,加入你要自启动的mysql可执行文件名和路径即可

#启动mysql
cd /usr/local/mysql/bin/
./safe_mysqld &
#修改root密码
./mysqladmin -u root password 'your password'

二,安装proftd
 

复制代码 代码示例:

gzip -d proftd-1.2.6.tar.gz
tar -xvf proftd-1.2.6.tar
#
cp mod_sql-4.08.tar.gz proftd-1.2.6/contrib/
cd proftd-1.2.6/contrib/
gzip -d mod_sql-4.08.tar.gz

cd proftd-1.2.6
./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/local/mysql/include --with-libraries=/usr/local/mysql/lib/mysql
make
make install

#替换proftpd.conf
mv /usr/local/proftpd/etc/proftpd.conf /usr/local/proftpd/etc/proftpd.bak
cp contrib/mod_sql.conf /usr/local/proftpd/etc/proftpd.conf

#配置proftpd.conf
vi /usr/local/proftpd/etc/proftpd.conf
#==========================================
1.修改
SQLConnectInfo dbname@host:port username password
为你的数据库的相应连接参数。
 
2.修改
 

SQLUserInfo ftpusers username password uid gid NULL NULL
改为
SQLUserInfo ftpusers userid passwd uid gid homedir shell
 

这是使用FTP帐号的表名和字段名。
 
3.在
SQLDefaultHomedir "/tmp"
的行首加上"#"注释符。
 
4.将
# SQLGroupInfo groups groupname gid members
前面的"#"注释符去掉,这是组信息。 如果不需要匿名登录,将
<Anonymous ~ftp>;

</Anonymous>;
之间的内容前都加上&quot;#&quot;注释符。

5.将
 

复制代码 代码示例:
Group nogroup
改为
Group nobody

# groups表的结构 `groups`
 

复制代码 代码示例:
CREATE TABLE groups (
  groupname varchar(255) binary NOT NULL default '',
  gid int(11) NOT NULL default '0',
  members text NOT NULL,
  PRIMARY KEY  (groupname)
) TYPE=myisam&#59;

#插入一个组 `groups`
 

复制代码 代码示例:
INSERT INTO groups VALUES ('ftpgroup', 10000, 'ftpuser')&#59;

-----------------------------------------------------------
 

复制代码 代码示例:

# ftpusers表的结构 `ftpusers`
CREATE TABLE ftpusers (
  userid varchar(255) binary NOT NULL default '',
  passwd varchar(255) binary NOT NULL default '',
  uid int(11) default NULL,
  gid int(11) default NULL,
  homedir varchar(255) default NULL,
  shell varchar(255) default NULL,
  count int(11) default NULL,
  PRIMARY KEY  (userid),
  FULLTEXT KEY homedir (homedir),
  FULLTEXT KEY homedir_2 (homedir)
) TYPE=MyISAM&#59;

# 插入一个用户 `ftpusers`
INSERT INTO ftpusers VALUES ('ftp', password('ftp'), 10000, 10000, '/export/home/sun', '/bin/bash', 0)&#59;
#当然要保证有/export/home/sun这个目录

#让mysql自启动

#在solaris中
vi /etc/inetd.conf
#修改ftp这一句为
ftp     stream  tcp6    nowait  root    /usr/local/proftpd/sbin/proftpd proftpd

#在linux中
vi /etc/rc.d/rc.local
#只要修改rc.local,加入你要自启动的proftpd可执行文件名和路径即可

#重要的一步
[root@ftp sbin]# ./proftpd
./proftpd: error while loading shared libraries: libmysqlclient.so.10: cannot
 open shared object file: No such file or directory 
 
cp /usr/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib/libmysqlclient.so.10

#启动proftpd
cd /usr/local/proftpd/sbin/
./proftpd start

安装完成。