emerge proftpd
可以用mysql,也可以用本地系统用户验证 用mysql的方法要USE='mysql' emerge proftpd
emerge -pv proftpd 你可以看到USE的信息
这里用的是系统用户验证
加系统用户的时候使用的-s /sbin/nologin
哪里可以看到我的那个ftp的验证
默认就是系统用户验证的,使用的pam
你现在这个就是系统用户验证的
可是怎样控制访问哪个目录
useradd -d 目录 -s /sbin/nologin -m 用户名
-u 用户UID -g 用户组ID
小心不要给了shell,那个危险
例如:
useradd -o -u 60000 -g 60000 -d /www/domain -s /sbin/nologin project
说明-u 60000 -g 60000 这里的60000是web使用的用户的用户id和用户组id
又例如
useradd -o -u 81 -g 81 -d /var/www/*****.com/ -s /sbin/nologin [usrname]
最后
passwd [usrname]
改密码
/etc/init.d/proftpd start
将 proftpd 加入启动级
rc-update add proftpd default
大功告成

以下是参考别人的文章

如果是mysql管理ftp权限
1. 安装带MySQL支持的proftpd:
USE="mysql" emerge proftpd
2. 建立数据库:
create database ftp;
grant all privileges on ftp.* to ftp@localhost identified by "ftp000";
create table `users` ( usrname varchar(255) not null, passwd varchar(255) not null, uid int unsigned default null, gid int unsigned default null, home varchar(255) not null, shell varchar(255) not null, primary key(`usrname`) )type=myisam;
create table `groups` ( grpname varchar(255)  not null default '', gid int unsigned not null default '0', members text not null, primary key(`grpname`) )type=myisam;
insert into users values('myusername',password('1234'),10001,10000,'/home/druggo/','');
insert into groups values('gentoo','10000','druggo');
3. 加入验证信息到配置文件/etc/proftpd/proftpd.conf
SQLAuthTypes Backend Crypt
SQLAuthenticate users* groups*
SQLConnectInfo ftp@localhost ftp ftp000
SQLUserInfo users usrname passwd uid gid home shell
SQLGroupInfo groups grpname gid members
4. 启动MySQL和Proftpd,测试登录,OK。
5. 需要限制用户在自己的home里,加一句
DefaultRoot ~
6. 支持上传续传,(下载续传默认支持)
AllowStoreRestart  on