Linux 下如何利用proftpd构架一个ftp服务器

来源:服务器技术 时间:2007-10-11 14:52:00 

这篇文章针对那些希望利用ftp协议和朋友们共享文件的人们,就像windows下的FTPserU,我提供的方式不是唯一的,希望我的方法足够清晰。这个FTPserver只允许拥有正确密码的人使用,所以你要明白只有已知的用户才能读取你的FTP服务。

1- 使用下面的命令安装proftpd:

Code:

sudo apt-get install proftpd

2- 在etc/shells 加入如下代码 (sudo gedit /etc/shells to open the file)(译注:命令行模式下sudo vi /etc/shells):

Code:

/bin/false

新建一个 /home/FTP-shared 目录:

Code:

cd /home

sudo mkdir FTP-shared

创建一个只能用来读取ftp的用户userftp。这个用户不需要有效的shell(更安全),所以选择 /bin/false shell 给 userftp,/home/FTP-shared 作为主目录。

为了是这部分更清楚,我给取此操作的命令行:

Code:

sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false

在FTP-shared 目录下新建一个download和一个upload 目录:

Code:

cd /home/FTP-shared/

sudo mkdir download

sudo mkdir upload

现在我们来给它们设置相应的权限:

Code:

cd /home

sudo chmod 755 FTP-shared

cd FTP-shared

sudo chmod 755 download

sudo chmod 777 upload

3- 好了,现在进入proftpd的配置文件:


           

Code:

sudo gedit /etc/proftpd.conf

当然你可以按你的需要编辑你自己的proftpd.conf:

Code:
# To really apply changes reload proftpd after modifications.
AllowOverwrite on
AuthAliasOnly on

# Choose here the user alias you want !!!!
UserAlias sauron userftp

ServerName   "ChezFrodon"
ServerType    standalone
DeferWelcome   on

MultilineRFC2228 on
DefaultServer   on
ShowSymlinks   off

TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 2200

DisplayFirstChdir               .message
ListOptions                 "-l"

RequireValidShell   off

TimeoutLogin 20

RootLogin    off

# It's better for debug to create log files ;-)
ExtendedLog    /var/log/ftp.log
TransferLog    /var/log/xferlog
SystemLog   /var/log/syslog.log

#DenyFilter   \*.*/

# I don't choose to use /etc/ftpusers file (set inside the users you want to ban, not useful for me)
UseFtpUsers off

# Allow to restart a download
AllowStoreRestart  on

# Port 21 is the standard FTP port, so don't use it for security reasons (choose here the port you want)
Port    1980

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 8

# Set the user and group that the server normally runs at.
User                  nobody
Group                 nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask    022 022

PersistentPasswd  off

MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8

# Display a message after a successful login
AccessGrantMsg "welcome !!!"
# This message is displayed for each access good or not
ServerIdent                  on       "you're at home"

# Set /home/FTP-shared directory as home directory
DefaultRoot /home/FTP-shared

# Lock all the users in home directory, ***** really important *****
DefaultRoot ~

MaxLoginAttempts    5

#VALID LOGINS
<Limit LOGIN>
AllowUser userftp
DenyALL
</Limit>

<Directory /home/FTP-shared>
Umask 022 022
AllowOverwrite off
 <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
 DenyAll
 </Limit>
</Directory>

<Directory /home/FTP-shared/download/*>
Umask 022 022
AllowOverwrite off
 <Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
 DenyAll
 </Limit>
</Directory>

<Directory> /home/FTP-shared/upload/>
Umask 022 022
AllowOverwrite on
 <Limit READ RMD DELE>
       DenyAll
     </Limit>

     <Limit STOR CWD MKD>
       AllowAll
     </Limit>
</Directory>

好了,你已经完成了proftpd的配置,你的服务端口是1980,而读取的参数如下,用户:sauron,密码:你为userftp设置的那个。

4- 启动/停止/重启动你的服务:

Code:

sudo /etc/init.d/proftpd start

sudo /etc/init.d/proftpd stop

sudo /etc/init.d/proftpd restart

对你的proftpd进行一下语法检查:

Code:

sudo proftpd -td5

想知道谁现在连接到你的服务,用ftptop命令(使用字母"t"来转换显示频率),你也可以使用"ftpwho"命令。

标签:
0
投稿

猜你喜欢

  • 25个最佳的免费WordPress主题下载

    2011-09-02 13:13:21
  • PHPWIND中文验证码如何显示

    2009-02-19 19:54:00
  • 三个月让你的网站PR值为5 搜狗PR=43

    2007-10-10 12:24:00
  • 秒客传奇:今天你“秒杀”了吗?

    2009-11-13 00:00:00
  • 优化网页广告代码以及速度

    2009-03-02 19:23:00
  • typecho首页和内容页的Title分别定义

    2010-03-24 12:10:00
  • 解读Hishop网店系统货源代理分销模式

    2009-11-21 11:50:00
  • 坚持更新 让我成功跳出谷歌沙盒

    2009-01-10 22:07:00
  • DEDE:显示文章上级栏目的名称和链接

    2009-02-15 09:39:00
  • 写给WEB2.0的站长 不仅仅是泼冷水

    2008-07-19 10:50:00
  • YouTube即将盈利 七分之一流量能产生营收

    2009-10-16 14:49:00
  • 德国总理默克尔对谷歌图书扫描计划表示反对

    2009-10-12 07:32:00
  • Discuz! 7.0到Discuz! 7.1升级图文教程

    2009-10-23 18:01:00
  • 投放google adwords广告如何留住客户信息经验谈

    2010-05-10 15:48:00
  • 闲谈 Web 图片服务器

    2008-03-20 13:43:00
  • Windows2003服务器安装及设置教程—软件安装与设置篇七—MySQL5安装图解

    2010-01-30 13:22:00
  • GoDaddy:如何使用File Manager上传文件

    2010-05-01 12:53:00
  • 使用命令行配置Windows 2008防火墙

    2009-01-06 14:14:00
  • Discuz!7.0主题回收站功能详解

    2009-03-06 12:32:00
  • 新手搜索优化进阶你还应该知道的 关于百度

    2008-12-10 12:03:00
  • asp之家 网站运营 m.aspxhome.com