服务器更换后,一直没有办法配置好ftp服务器,用的是vsftp,我尝试过多次,都快腻了,快对ftp没脾气了

但今天改用proftp,至少也做出来了,总算带来一丝惊喜。

先说一下vsftp的配置,其实linux下啥都一个过程:

1 make
2 make install

过程很简单,默认是加入了xinetd的服务,修改 /etc/xinetd.d/vsftpd
disable=yes

拷贝一份配置:
cp vsftpd.conf /etc

改为独立运行模式,然后在/etc/vsftpd.conf加入
listen=yes
放弃匿名用户:
anonymous_enable=NO
local_enable=YES
write_enable=YES


这样就可以启动了:
/usr/local/sbin/vsftpd &

但是,本地测试都很正常,试过两台服务器,都不正常,都出现的是密码错误,登陆不了,汗死,试过旧版本,也依然如此,尝试了网上介绍的方法,都不行,只能放弃

proftp的安装使用有一个网页介绍的非常好,应该是台湾的网站:
简易 FTP Server 架设 -- Pro FTPD

proftp相对来说很简单:
./configure --prefix=/Data/apps/proftpd \
--enable-shadow \
--enable-autoshadow   \
--with-modules=mod_ratio:mod_readme:mod_wrap \
&& make && make install

安装完毕~

开始配置了,给出配置的文档参考:

vi /Data/apps/proftpd/etc/proftpd.conf

ServerName                      "ftp site"
ServerType                      standalone
DefaultServer                   on
UseReverseDNS                   off
IdentLookups                    off
RootLogin                       off
DefaultRoot                     ~
AllowStoreRestart               on
PassivePorts                    20000 30000
TimesGMT                        off

Port                            21
Umask                           022
MaxInstances                    30

User                            ftp
Group                           ftp

<Directory />
 AllowOverwrite                on
</Directory>


启动就好了,在服务器上试过也可以了
/Data/apps/proftpd/sbin/proftpd

用户管理可以用ftp组作为所有登录帐号的组,新建用户指定根目录就好,比如:

groupadd ftp
useradd -G ftp -d /Data/webapps ftp_website
passwd ftp_website
#设定密码







proftp详细配置一览
<Global> #global也可不要,后面如设置多个虚拟站点清晰
IdentLookups off #连接快些 还有后面的 UseReverseDNS
RequireValidShell off #匿名的一般需要加上这个
MaxLoginAttempts 1 #匿名的话1就可以了,最大密码验证次数
WtmpLog NONE #不记log到wtmp
DenyFilter \*.*/|.ftpaccess #DenyFilter做一些过滤,正则表达式
#DenyFilter ~!\**/?,$@ # 根据自己需要写吧,上面的好烂:P
#LsDefaultOptions "-l" #ls参数
#AllowForeignAddress on #要允许 FXP 写成 on
CommandBufferSize 128 #最大命令长度
DirFakeUser On FTP #不显示给用户真实的用户、组
DirFakeGroup On FTP
DeferWelcome on #显示欢迎信息
PathDenyFilter "(^\.ftpaccess$)" #同DenyFilter 过滤用
User nobody #proftpd 以哪个用户、组的身份运行
Group nobody

TimesGMT off #时间

<Limit LOGIN DELE RMD XRMD SITE RNFR RNTO WRITE>
DenyAll
</Limit> #出于某些考虑,开始禁掉,后面需要再打开。READ也可加过来...
#也可以这里设置允许连接的网段 Login,或者后面,建议用防火墙
<Limit ALL>
IgnoreHidden on
</Limit>

<Directory /*>
HideNoAccess on
AllowOverwrite off #禁止重写覆盖,后面打开允许续传
</Directory> #AllowRetrieveRestart默认是on 也可以写进来
</Global>

ServerName "FTP server"
ServerType standalone #运行方式 还可以用 inetd xinetd
ServerIdent on "Welcome to FTP" #身份验证前显示给用户的,也可用文件,这里略
DefaultServer on
UseReverseDNS off #加快连接速度
Port 21 #FTP端口
Umask 022 #掩码 为了便于管理 用 002
PassivePorts 20000 30000 #被动模式端口段

SystemLog /var/proftpd/syslog #log 注意自己加上 logrotate 配置

MaxInstances 250 #最大
TimeoutLogin 30 #身份验证超时
TimeoutIdle 120 #发呆超时
TimeoutNoTransfer 300 #无数据传输超时
#TimeoutStalled 300

#log一些自定义格式,根据需要调整或者用默认
LogFormat myxfer "%h %u %t \"%r\" %s %b"
LogFormat default "%h %a %u %t \"%r\" %s %b $$ \'%F\'"
LogFormat auth "%h %a %t \"%r\" %s"
LogFormat write "%h %a %t \"%r\" %s %b"

#匿名的根目录 记得设置相应目录权限,ftp 用户应至少有 r x 权限
<Anonymous /home/ftp>
User ftp
Group ftpadmin
Umask 002
UserAlias anonymous ftp

MaxClients 50 "客满(%m)" #人多时的提示信息,可以用一些变量
#RateReadBPS 500000 #限速用
MaxClientsPerHost 2 "连接数多" #一个IP的连接数
TransferLog NONE #log
ExtendedLog /var/proftpd/upload.log write myxfer #log
ExtendedLog /var/proftpd/download.log read myxfer #log

DisplayLogin etc/welcome #欢迎文件,可以用一些变量
DisplayFirstChdir .message #改变目录时显示的消息

AuthAliasOnly on #只允许 UserAlias 过的 这里只允许 anonymous 不允许ftp
<Limit LOGIN>
AllowAll
</Limit> #打开允许连接,可以这是允许访问的网段,建议防火墙

<Directory incoming>
AllowStoreRestart on #允许上传目录,可以续传,不能覆盖
<Limit WRITE>
AllowAll
</Limit> #如果不想让下载,只让上载 可以加上
#<Limit READ>DenyAll</Limit>
</Directory> #到这差不多就完了,每个目录可以写 .ftpaccess 设置权限
#后面这两个可以参考根据需要

#在FTP根目录又不让看的,上面把欢迎信息放里面了,当然可以放别的
<Directory etc>
<Limit READ WRITE DIRS>
DenyAll
</Limit>
</Directory>
<Directory Tsinghua> #限制特定IP段能看的,也可在目录的.ftpaccess里面设置
<Limit ALL>
Order deny,allow
Allow from 166.111.
</Limit>
</Directory>
</Anonymous> #到这匿名的就完了

#加帐号密码可以用多种方式,密码文件,数据库等
#如果用系统的帐号,可以用 DefaultRoot 限制活动目录,比如把TA堵在家里 ~
#还有别的很多 根据需要自己看文档吧 比如打开MultilineRFC2228等
#
#记得设置相应目录权限,r x 一个都不能少
#记得设置文件权限(chmod/chown) 配置 .ftpaccess
#应该了解 ls rm chmod chown find xargs crontab 等命令以便进行简单管理
#kill/killall -HUP 或者用脚本 ftpshut ftpwho
#rm -f /etc/shutmsg
#相应的辅助工具还有很多,也可以自己写脚本


原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
Tags: ,
发表评论
AD
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML 打开UBB 打开表情 隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写
 

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐