一、安装及配置
推荐下载
wget http://fossies.org/unix/misc/pure-ftpd-1.0.34.tar.gz
下载phpweb管理组件
wget http://www.yiyou.org/docs/PureAdmin_03_php/PureAdmin-0.3.tar.gz
mysql.conf
解压编译及安装&常见问题排错
tar zxvf pure-ftpd-1.0.34.tar.gz
cd pure-ftpd-1.0.34/
./configure --prefix=/usr/local/pureftpd --with-cookie --with-language=simplified-chinese --with-puredb --with-mysql --with-tls --with-virtualchroot
…………………………………………………………………………………………………
checking for mysql_init in -lmysqlclient... no
configure: error: libmysqlclient is needed for MySQL support
编译时候若出现上面的提示,则安装mysql和mysql-devel RPM包,这里为了简便,直接使用rpm方式解决
[root@server1 pure-ftpd-1.0.29]# yum -y install mysql mysql-devel
若编译方式安装mysql数据库,前面的编译选项可以改成"--with-mysql=/usr/local/mysql",并将/usr/local/mysql目录下的头文件和开发库文件加入ld.so.conf,该文件维护着系统的动态链接库
# echo "/usr/local/mysql/" >> /etc/ld.so.conf
# ldconfig
……………………………………………………………………………………………………
安装配置
make && make install
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
mkdir -p /usr/local/pureftpd/etc/
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
cp contrib/redhat.init /etc/init.d/pureftpd
3、修改启动配置文件
vi /etc/init.d/pureftpd
修改18/19行
fullpath=/usr/local/sbin/$prog
pureftpwho=/usr/local/sbin/pure-ftpwho
为:
fullpath=/usr/local/pureftpd/sbin/$prog
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
修改24行
$fullpath /etc/pure-ftpd.conf --daemonize
为 $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf --daemonize
或者用下面命令更改
sed -i '18c\fullpath=/usr/local/pureftpd/sbin/$prog' /etc/init.d/pureftpd
sed -i '19c\pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho' /etc/init.d/pureftpd
sed -i '24c\$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf --daemonize' /etc/init.d/pureftpd
chmod 755 /etc/init.d/pureftpd
chkconfig --add pureftpd
chkconfig pureftpd on
4、修改配置文件
vi /usr/local/pureftpd/etc/pure-ftpd.conf
其中可以修改最大连接数、空闲时间等,详细介绍见http://everspring.blog.51cto.com/497193/104618(本文章在文章最后又复贴)
其中有几项要修改:
chrootEveryone yes 限定在自己的家目录
NoAnonymous yes 不允许匿名登录
CreateHomeDir yes 允许用户登录后自动创建家目录 <必须>
PureDB /usr/local/pureftpd/etc/pureftpd.pdb #如果没使用mysql存储用户的话,该文件必须,否则无法登录
6、配置虚拟用户登录环境
mkdir /data/ftproot
useradd virtualftp -d /data/ftproot -s /sbin/nologin <创建接下来的虚拟用户对应的系统用户>
chmod -R 777 /data/ftproot #这不不做可以能会引起登录时报421错误>
chown virtualftp:virtualftp /data/ftproot
7、设置环境变量
echo PATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile
source /etc/profile
8、常用操作用户命令(大写英文为用户自定义数值)
pure-pw useradd USER -u VirtualUSER -g VirtualGROUP -d HOMEDIRECTORY 添加一虚拟用户
pure-pw show USER 看用户的详细信息
pure-pw list 查看用户列表的
pure-pw passwd USER -m 修改用户的密码
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb 创建虚拟用户数据库。(文件的存放位置以pure-ftpd.conf中的PureDB配置为准,每次添加用户都要执行上述操作)
pure-pw usermod 修改用户
9、启动pureftpd
service pureftpd start
或者
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
出现
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -E -fftp -H -I5 -L10000:8 -m4 -s -U133:022 -u100 -j -k99 -Z
表示正常
开机启动
chkconfig pureftpd on
检查端口监听状态
[root@localhost log]# netstat -tupln | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 868/pure-ftpd (SERV
tcp 0 0 :::21 :::* LISTEN 868/pure-ftpd (SERV
二、虚拟用户使用篇
1、用pureDB认证
<1>修改配置文件:
vi /usr/local/pureftpd/etc/pure-ftpd.conf
修改126行为:
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
<2>添加用户:
mkdir /data/ftproot/user1
chown -R virtualftp /data/ftproot/user1
pure-pw useradd user1 -u virtualftp -g virtualftp -d /data/ftproot/user1 -m
说明:
user1是用户名,-u virtualftp是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D;如果需要不同的权限,可以建立新的linux用户与组
如果用的系统自带的ftp用户,这样的话还需修改配置文件pure-ftpd.conf中的MinUID为ftp用户的UID 14,否则登录时会出现530错误;所以这里建议创建另一个非系统自带的用户做映射
<3>建立用户数据库:
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb #说明:今后每添加或修改用户数据库都应该执行一次mkdb
<4>虚拟用户的信息以每个用户一行的方式存放在相应的文件中,其格式如下所示:
:::::::::::::::::
推荐下载
wget http://fossies.org/unix/misc/pure-ftpd-1.0.34.tar.gz
下载phpweb管理组件
wget http://www.yiyou.org/docs/PureAdmin_03_php/PureAdmin-0.3.tar.gz
mysql.conf
解压编译及安装&常见问题排错
tar zxvf pure-ftpd-1.0.34.tar.gz
cd pure-ftpd-1.0.34/
./configure --prefix=/usr/local/pureftpd --with-cookie --with-language=simplified-chinese --with-puredb --with-mysql --with-tls --with-virtualchroot
…………………………………………………………………………………………………
checking for mysql_init in -lmysqlclient... no
configure: error: libmysqlclient is needed for MySQL support
编译时候若出现上面的提示,则安装mysql和mysql-devel RPM包,这里为了简便,直接使用rpm方式解决
[root@server1 pure-ftpd-1.0.29]# yum -y install mysql mysql-devel
若编译方式安装mysql数据库,前面的编译选项可以改成"--with-mysql=/usr/local/mysql",并将/usr/local/mysql目录下的头文件和开发库文件加入ld.so.conf,该文件维护着系统的动态链接库
# echo "/usr/local/mysql/" >> /etc/ld.so.conf
# ldconfig
……………………………………………………………………………………………………
安装配置
make && make install
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
mkdir -p /usr/local/pureftpd/etc/
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
cp contrib/redhat.init /etc/init.d/pureftpd
3、修改启动配置文件
vi /etc/init.d/pureftpd
修改18/19行
fullpath=/usr/local/sbin/$prog
pureftpwho=/usr/local/sbin/pure-ftpwho
为:
fullpath=/usr/local/pureftpd/sbin/$prog
pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
修改24行
$fullpath /etc/pure-ftpd.conf --daemonize
为 $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf --daemonize
或者用下面命令更改
sed -i '18c\fullpath=/usr/local/pureftpd/sbin/$prog' /etc/init.d/pureftpd
sed -i '19c\pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho' /etc/init.d/pureftpd
sed -i '24c\$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf --daemonize' /etc/init.d/pureftpd
chmod 755 /etc/init.d/pureftpd
chkconfig --add pureftpd
chkconfig pureftpd on
4、修改配置文件
vi /usr/local/pureftpd/etc/pure-ftpd.conf
其中可以修改最大连接数、空闲时间等,详细介绍见http://everspring.blog.51cto.com/497193/104618(本文章在文章最后又复贴)
其中有几项要修改:
chrootEveryone yes 限定在自己的家目录
NoAnonymous yes 不允许匿名登录
CreateHomeDir yes 允许用户登录后自动创建家目录 <必须>
PureDB /usr/local/pureftpd/etc/pureftpd.pdb #如果没使用mysql存储用户的话,该文件必须,否则无法登录
6、配置虚拟用户登录环境
mkdir /data/ftproot
useradd virtualftp -d /data/ftproot -s /sbin/nologin <创建接下来的虚拟用户对应的系统用户>
chmod -R 777 /data/ftproot #这不不做可以能会引起登录时报421错误>
chown virtualftp:virtualftp /data/ftproot
7、设置环境变量
echo PATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile
source /etc/profile
8、常用操作用户命令(大写英文为用户自定义数值)
pure-pw useradd USER -u VirtualUSER -g VirtualGROUP -d HOMEDIRECTORY 添加一虚拟用户
pure-pw show USER 看用户的详细信息
pure-pw list 查看用户列表的
pure-pw passwd USER -m 修改用户的密码
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb 创建虚拟用户数据库。(文件的存放位置以pure-ftpd.conf中的PureDB配置为准,每次添加用户都要执行上述操作)
pure-pw usermod 修改用户
9、启动pureftpd
service pureftpd start
或者
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
出现
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -E -fftp -H -I5 -L10000:8 -m4 -s -U133:022 -u100 -j -k99 -Z
表示正常
开机启动
chkconfig pureftpd on
检查端口监听状态
[root@localhost log]# netstat -tupln | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 868/pure-ftpd (SERV
tcp 0 0 :::21 :::* LISTEN 868/pure-ftpd (SERV
二、虚拟用户使用篇
1、用pureDB认证
<1>修改配置文件:
vi /usr/local/pureftpd/etc/pure-ftpd.conf
修改126行为:
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
<2>添加用户:
mkdir /data/ftproot/user1
chown -R virtualftp /data/ftproot/user1
pure-pw useradd user1 -u virtualftp -g virtualftp -d /data/ftproot/user1 -m
说明:
user1是用户名,-u virtualftp是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D;如果需要不同的权限,可以建立新的linux用户与组
如果用的系统自带的ftp用户,这样的话还需修改配置文件pure-ftpd.conf中的MinUID为ftp用户的UID 14,否则登录时会出现530错误;所以这里建议创建另一个非系统自带的用户做映射
<3>建立用户数据库:
pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb #说明:今后每添加或修改用户数据库都应该执行一次mkdb
<4>虚拟用户的信息以每个用户一行的方式存放在相应的文件中,其格式如下所示: