根据公司需要,要搭建一个proftpd,搭建过程中权限是最让我费解的地方,不过在一位老师的帮助下,最终还是解决了权限问题,所以拿出来跟大伙分享下。
proftpd的认证机制有基于mysql的,系统用户的,基于文件的也就是虚拟用户,接下来说的就是基于虚拟用户的。
下载地址:ftp://ftp.proftpd.org/distrib/source/
在帖子的附件中我也给出了proftpd的源码包,版本为1.3.4a
1、解包
tar -zvxf proftpd-1.3.4a.tar.gz
2、配置
./configure
--prefix=/usr/local/proftpd/ 指定proftpd的安装位置
--enable-nls 支持中文
3、编译
make
4、编译安装
make install
启动:/usr/local/proftpd/sbin/proftpd 按下回车,即可启动
停止:/usr/local/proftpd/sbin/ftpshut 按下回车,即可关闭
###(这里讲一个关于proFTPD启动方式的小技巧,回到proFTPD的源码目录,执行
cp ./contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd
chmod 755 /etc/rc.d/init.d/proftpd
OK,执行完以上两条命令后,我们就可以用/etc/init.d/proftpd start|stop 来启动和关闭FTP啦。
配置
首先讲一下FTP配置的基本格式:
<Directory "需要共享的目录路径">
<Limit "权限参数">
************************* (此行写把上面的权限赋予的用户或组)
</Limit>
</Directory>
以上就是FTP配置目录的基本格式,如果看不懂的话,下面我还会给出例子,可以参照。
配置目录时用到的权限如下:
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的