技术资料首页 >> 服务器专栏 >> FTP服务器 >> Proftp 配置,初学者一定进来看看。

Proftp 配置,初学者一定进来看看。 (1)

2006-10-20 12:28:55作者: 来源:http://www.chinaunix.net/jh/15/842497.html 浏览次数:12 文字大小:【】【】【

大家好,我刚学LINUX不到一个月,Proftp还不到一个星期。我自己都没有想到我还能写这么一个小的教程。我介绍的可能不是很全面,不过我想对初学者也许还有点用吧。希望和大家一起分享,共同进步。
    如果你们有什么好的想法和建议,可以在这回复给我。或加我的QQ:505141911,我们一起讨论。
我们按照步骤慢慢来吧。  OK,Let's GO!

目的:使用匿名用户可以访问,同时允许帐户  zhmadmin   可以登陆并可以上传、删除。

一、下载proftp最新版。
下载地址:ftp://ftp.proftpd.org/distrib/source/

二、安装
找到你刚才下载的  “[color=Red]proftpd-1.3.0rc5.tar.gz[/color]”  然后使用命令
tar zxvf proftpd*.gz                       //解压文件。
cd proftpd*                                    //考虑到版本不同,所以我用“ * ”代替后面的字符。
./configure --prefix=/usr/proftpd sysconfdir=/etc/proftpd                       //配置安装的目录和Proftp配置文件“proftpd.conf”的目录。

make
make install


OK这样FTP就装好了。当然如果你现在就在访问“FTP://127.0.0.1”那是访问不了的。因为你还没有启动他。他的启动文件在  “[color=Red]/usr/proftpd/sbin/proftpd[/color]”  就是这个文件了。直接运行就可以了。(注意:这个文件实际上可以说是重新生效配置,因为当你重新启动系统或是重新修改了配置文件后,需要运行它来达到生效的目的。)

OK现在我们输入命令
/usr/proftpd/sbin/proftpd
这个时候你访问你的FTP应该是没问题的了。但这时候你不能修改目录里面的东西,因为你是匿名的。
随便说一句如果你是Suse的系统,FTP的默认目录在  /srv/ftp   这个下面。
好了,刚才我们说过,不光要用匿名登陆,还用有用户  zhmadmin  能够登陆并修改文件。

输入命令
useradd zhmadmin -d /srv/ftp -g ftp        //添加用户 zhmadmin  指定主目录和用户组
passwd zhmadmin                                   //设置密码
123
123                                                           //连续输入两次一样的密码
chown -R zhmadmin.ftp /srv/ftp                //设置目录/srv/ftp的归zhmadmin这个用户和FTP这个组
chmod 755 /srv/ftp                                   //设置这个目录的权限(如果你看不懂什么意思,那就要自己找资料了,或是联系我QQ。)
好了,剩下来就是配置  proftpd.conf  了

这个时候我们需要修改配置文件,输入命令
vi /etc/proftpd/proftpd.conf
(不要告诉我你不会用  VI)
我们找一个适当的位置写我们的命令,我选择了在设置匿名登陆的上面输入。

  <Limit LOGIN>
   AllowUser zhmadmin
  </Limit>

这样就可以用zhmadmin登陆了。你会发现你用zhmadmin登陆后就可以修改FTP里面的内容了。因为我们在上面设置了
chmod 755 /srv/ftp
只用zhmadmin可以上传,匿名和其他的是不可以的。

我的配置文件如下
ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on
Port                            21
Umask                           022
MaxInstances                    30
User                            nobody
Group                           nogroup
#DefaultRoot ~ ftp
AllowOverwrite          on
<Limit SITE_CHMOD>
  DenyAll
</Limit>

  <Limit LOGIN>
   AllowUser zhmadmin
  </Limit>

<Anonymous ~ ftp>
  User                          ftp
  Group                         ftp
  UserAlias                     anonymous ftp
  MaxClients                    10
  DisplayLogin                  welcome.msg
  DisplayFirstChdir             .message
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>



 spiceboy 回复于:2006-10-19 22:31:51

小伙子加油,嘿嘿。
记笔记是好习惯,高手就是这样炼出来的哦。


 zhanghuiin 回复于:2006-10-20 13:01:54

我刚才对我的配置又改了改。现在的功能更完善了。我把步骤再写一次吧。希望大家看了有用。
我要达到的目的是FTP和APAECH结合,是用户的WEB目录和FTP目录是一个,这样就可以达到用FTP上传文件的效果了。因为我的目的是这样的,所以我不允许匿名登陆。

mkdir /home/z1
mkdir /home/z2
mkdir /home/z3

groupadd web

useradd z1 -d /home/z1 -g web -s /bin/false
useradd z2 -d /home/z2 -g web -s /bin/false
useradd z3 -d /home/z3 -g web -s /bin/false

#我用的SUSE 的系统,我试过了。如果我把Shell改成 /bin/bash,这样就可以登陆系统,也可以登陆FTP。这样当然不行。如果用/sbin/nologin这样的话系统和FTP都不可以登陆了。所以我后来试了一下,还是用/bin/false

chown -R .web /home
chmod -R 750 /home

做到这个我们可以来分析一下,就系统方面来看。也就是不考虑FTP的问题。我们看。现在这三个用户都可以访问自己的目录。但问题是也能访问别人的目录。这是不行的。所以我们在FTP的配置文件中一定要限制用户只能在自己的目录下活动。如果你要问我。为什么不把目录的属性设置成700。我也试过,因为我们用FTP登陆的时候是允许一个组的用户登陆。也就是在登陆的时候是用WEB这个组用户的身份登陆的。如果设置成700不允许组用户察看的话。那就登陆不了了。

好了,看看我的配置文件。

ServerName                      "Free FTP"
ServerType               &nb
[1] [2]

相关文章