Centos5.5下搭建Proftpd

根据公司需要,要搭建一个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等权限,还是比较实用的

    ALL:所有权限:

    LOGIN:是否允许登陆的权限

针对上面的这个Limit(权限)所应用的对象,又包括以下范围:

    AllowUser 针对某个用户允许的Limit

    DenyUser 针对某个用户禁止的Limit

    AllowGroup 针对某个用户组允许的Limit

    DenyGroup 针对某个用户组禁止的Limit

    AllowAll 针对所有用户组允许的Limit

    DenyAll 针对所有用户禁止的Limit

举个例子,形象的说明下权限方面的配置。

要在ftp上共享运维部的目录,要求运维部的经理可以上传,删除,普通员工只能上传,下载,没有删除权限。
运维部路径在/mnt/pub/yunwei

proftpd.conf中关于运维部目录权限的设置如下:

<Directory "/var/ftp/yunwei">
     <Limit CWD MKD RNFR READ WRITE STOR RETR>
     DenyAll  拒绝所有人往该目录下执行Limit后的操作指令
     </Limit> 
     <Limit DELE>
      AllowUser jingli  只允许经理删除
      DenyAll  禁止任何人在该目录下删除文件
     </Limit>
     <Limit CWD MKD RNFR READ WRITE STOR RETR>
    AllowUser yunwei 仅允许yunwei用户(组)可以执行Limit后的所有指令
     </Limit> 
     </Directory>
上面就是关于目录的权限设置,接下来就是新建虚拟用户。
进入proftpd的源码目录
cp ftpasswd /usr/local/proftpd/bin/ 
 chmod +x /usr/local/proftpd/bin/ftpasswd
上面两步是让ftpasswd 可执行。
ftpasswd命令格式说明:
--passwd  创建密码文件,即AuthUserFile指定的文件
--group   创建组文件
--name   指定创建的用户名
--uid   指定用户虚拟UID
--gid     指定虚拟GID
--home   指定用户家目录
--shell   指定用户Shell
--file   指定创建的文件名
例:新建一个用户
ftpasswd --passwd --file=XX --name=XX --uid=XX --home=XX --shell=XX
新建一个组
ftpasswd --group --file=XX --name=XX --gid=XX
如果想讲用户加入到组的话,直接vim编辑组文件,在组后面添加上用户就OK了。

以上就是proftpd基于虚拟用户的设置,有错的不足的地方,烦请各位大牛指出,先行谢过。





你可能感兴趣的:(mysql,centos,用户,搭建,下载地址)