一、安装pure-ftpd服务端
# echo 'net-ftp/pure-ftpd mysql'>>/etc/portage/package.use
Gentoo会自动把本机的mysql装上。
# emerge pure-ftpd
配置mysql数据库root的密码,以及安装初始化目录。 我配置的root密码为root,如果设置为其它的则下面的密码也需要跟着改
# ebuild /var/db/pkg/dev-db/mysql-5.5.28/mysql-5.5.28.ebuild config
把client这个段的内容修改成如下 ,这是为了方便我们进入mysql数据库
# vim /etc/mysql/my.cnf
[client]
user = root
password = root
host = 127.0.0.1
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
server-id = 220
skip-name-resolve
# /etc/init.d/mysql start
二、在Mysql中创建相应的库和表来存储用户权限
# mysql –A (之前配置my.cnf里的用户和密码就是为了这儿)
mysql> CREATE DATABASE IF NOT EXISTS pureftpd;
mysql> USE pureftpd;
mysql>
CREATE TABLE IF NOT EXISTS `ftpd` (
`User` varchar(16) NOT NULL DEFAULT '' COMMENT '用户名',
`status` enum('0','1') NOT NULL DEFAULT '0' COMMENT '可用状态:0 - 不可用;1 - 正在使用',
`Password` varchar(64) NOT NULL DEFAULT '' COMMENT '密码',
`Uid` varchar(11) NOT NULL DEFAULT '-1' COMMENT '用户ID',
`Gid` varchar(11) NOT NULL DEFAULT '-1' COMMENT '组ID',
`Dir` varchar(128) NOT NULL DEFAULT '' COMMENT '拥有的权限路径',
`ULBandwidth` smallint(5) NOT NULL DEFAULT '0' COMMENT '上传带宽',
`DLBandwidth` smallint(5) NOT NULL DEFAULT '0' COMMENT '下载带宽',
`comment` tinytext NOT NULL COMMENT '备注',
`ipaccess` varchar(15) NOT NULL DEFAULT '*' COMMENT 'IP地址',
`QuotaSize` smallint(5) NOT NULL DEFAULT '0' COMMENT '大小配额',
`QuotaFiles` int(11) NOT NULL DEFAULT '0' COMMENT '文件类型配额',
PRIMARY KEY (`User`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='ftp用户名密码表';
mysql > 添加用户ftpduser让它对pureftpd下面的库有select权限
grant select on pureftpd.* to ftpduser@'%' identified by 'ftpdpassword';
mysql > 添加一条测试数据,等会儿用来登录
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('testuser', '1', md5('testpassword'), '1002', '81', '/var/www', 0, 0, '备注', '*', 0, 0);
三、修改配置文件,使用MYSQL进行权限验证
# vim /etc/conf.d/pure-ftpd
IS_CONFIGURED="yes"
SERVER="-S 10.36.32.220,21"
MAX_CONN="-c 50"
MAX_CONN_IP="-C 20"
AUTH="-l mysql:/etc/pureftpd-mysql.conf"
MISC_OTHER="-A -H -x -j -R -Z -E -p 50001:59999 -O clf:/var/log/pureftpd/pureftpd.log"
# mkdir –p /var/log/pureftpd/
这里的MYSQL配置与我们PHP连接MYSQL雷同,需要注意的是MYSQLCrypt 这是指的咱们对用户密码的加密方式。
# vim /etc/pureftpd-mysql.conf
MYSQLServer 127.0.0.1
MYSQLPort 3306
MYSQLUser ftpduser
MYSQLDatabase pureftpd
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
四、添加nfsuser用户,并修改web目录的权限,如果没有就先创建吧
# groupadd apache; useradd nfsuser -u 1002 -g apache -d /dev/null -s /sbin/nologin
# mkdir -p /var/www
# chown -R nfsuser:apache /var/www
五、启动pureftpd并用客户端连接测试
# /etc/init.d/pure-ftpd start
相关推荐
本文详细讲述gentoo桌面环境gnome-light的安装过程,如何配置主机网络,如何让gentoo支持中文,如何挂载windows下的NTFS文件系统,如何使gentoo支持声音 的输入输出,让你的emerge极大地加快下载速度,并安装音视频...
Gentoo Linux文档 -- Gentoo Linux x86手册
gentoo-portage-rsync-mirror, Gentoo库的镜像镜像,使用 https 以前的Gentoo rsync-to-git镜像用于包含打包到git存储库中的Gentoo树的存储库。 然而,在 2015-08-09,Gentoo正式切换到了 git,这使得。新资源:cgit...
Gentoo Linux 安装笔记 Gentoo Linux 安装笔记 Gentoo Linux 安装笔记
修补程序文件,用于在Linux内核4.0.4上构建Gentoo的vmware-modules-279.3软件包。 使程序包编译无误,并允许vmware-player运行。 使用风险自负。 指示: 手动克隆存储库或单独下载文件。 在终端中,将补丁文件放在...
Portage是一套真正的自动导入系统,然而Gentoo里的Portage是用Python编写的,并且它具有很多先进的特性, 包括文件依赖、精细的包管理、OpenBSD风格的虚拟安装,安全卸载,系统框架文件、虚拟软件包、配置文件管理...
Gentoo Linux 安装手册, Gentoo Linux安装完整教程, 内容详细, 包你一次就会, 绝对精彩. Gentoo Linux 安装手册完整教程!
Gentoo是众多Linux的发行版之一,她具有高效的执行效率和高度的可定制性。但Gentoo的安装对于新手来说不是一件简单的事。为使Gentoo爱好者在安装该系统时少走弯路,节省时间,特制定本文档
本文来源于Gentoo官方网站,对官方资料进行整理,包含了Gentoo安装、配置的信息,可打印格式,方便朋友打印出来参考。
资源来自pypi官网。 资源全名:binary_gentoo-5.0.0-py3-none-any.whl
gentoo-clang-kernel-overlay 提供 ebuild 以使用 Clang 以 Gentoo 方式编译内核 这是 Gentoo Clang 内核开发完成的地方。 要将此覆盖添加到 Gentoo 系统,请运行以下命令: 外行 -o -f -a gentoo-clang-kernel-...
资源分类:Python库 所属语言:Python 资源全名:binary_gentoo-5.0.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
gentoo-ohmyzsh 该插件添加了一些别名和功能,可用于Gentoo Linux 特征 出现 别名 命令 描述 同步 须藤涌现--sync 将本地存储库与远程存储库同步 升级 须藤新兴-aDuN世界 更新本地系统中的软件包 干净的 须藤新兴-...
在sun服务器上安装gentoo linux 2007 目前sun服务器只能安装gentoo debian
根斯托尔 Gentoo Linux 安装脚本 ... packer build --only=gentoo-amd64-vbox packer/gentoo-amd64.json 将 VirtualBox VM 导入到 Vagrant: vagrant box add gentoo-amd64 gentoo-amd64-vbox-<t
NULL 博文链接:https://jackchen0227.iteye.com/blog/1138526
gentoo-cloud-image-builder旨在从兼容qemu的主机上运行。 高级过程包括将vm(使用qemu)引导到gentoo安装CD /环境,然后自动执行完整安装。 为了构建映像,您只需要克隆存储库并确保您的主机上有一些标准的dep,...
gentoo-portage-config:Gentoo Portage配置文件(尝试构建一个完全正常工作的LLVM + musl + Linux桌面)