unix安装配置ftp server(安装配置一个proftpd的实例)

目的:

安装配置一个proftpd,达到以下要求
1不允许匿名访问。
2开放一个帐号,只有在upload目录有上传权限,可以续传,不能改名和删除。

操作:
0切换到root帐户
suroot//输入root的密码。


1下载proftpd
地址:www.proftpd.org。这里我们下载了1.2.9版本
wgetftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz


2安装proftpd
切换到下载目录,假设为/tmp/proftpd,然后
tarzxvfproftpd-1.2.9.tar.gz//解压

cdproftpd-1.2.9
./configure--prefix=/var/proftpd--sysconfdir=/etc//设置安装目录/var/proftpd,配置文件目录/etc
make
makeinstall

3新建ftp专用帐号
就是上面目的中提到的那个专用帐号,这里以skate/skate(u/p)为例。
groupaddskate

useraddskate-gskate-d/var/ftp-s/sbin/nologin//设置/var/ftp目录为ftp的目录
passwdskate//设置skate用户的密码
mkdir/var/ftp/upload
chownskate.skate/var/ftp/upload//设置upload目录skate用户可写

4设置proftpd
proftpd的配置文件就一个,就是/etc/proftpd.conf
vi/etc/proftpd.conf//打开proftpd.conf



####具体配置如下######
ServerName"Testftpserver..."
ServerTypestandalone
DefaultServeron
#端口
Port21
Umask022
#最大线程数
MaxInstances30
Userskate
Groupskate

#DNS反查
UseReverseDNSoff
IdentLookupsoff
#最大尝试连接次数
MaxLoginAttempts3
#每用户线程
MaxClientsPerHost2
#最大用户数
MaxClients20

DirFakeUserOnskate
DirFakeGroupOnskate
DeferWelcomeOn
#日志文件位置
SystemLog/var/log/proftpd.log
ServerIdentoff

#限制skate组的skate用户登录时不能切换到其他目录(只能呆在他的home目录)
DefaultRoot~skate,skate

#设置只允许192.168.0的用户登录
#<limitLOGIN>;
#Orderallow,deny
#Allowfrom192.168.0.
#Denyfromall
#</limit>;

#设置只允许skate用户登录,否则系统用户也可以登录ftp
#<limitLOGIN>;
#Orderallow,deny
#DenyUser!skate
#</limit>;


#开起全盘的写权限
<Directory/>;
AllowOverwriteon
AllowStoreRestarton
#允许FXP
#AllowForeignAddresson
<LimitAll>;
AllowAll
</Limit>;
</Directory>;

#设置skate用户在upload的限制
#DELE删除权限
#RNFRRNTO重命名权限
#RMDXRMD移动目录权限
<Directory/var/ftp/upload>;
<LimitDELERNFRRNTORMDXRMD>;
DenyUserskate
</Limit>;
</Directory>;
#####结束######


编辑完以后按Esc,然后输入:x保存。

5启动服务
编辑一个启动脚本(这个是proftpd自带的,做了一点小修改)
vi/etc/rc.d/init.d/proftpd


#####脚本内容开始########
#!/bin/sh
#
#StartupscriptforProFTPD
#
#chkconfig:3458515
#description:ProFTPDisanenhancedFTPserverwith\
#afocustowardsimplicity,security,andeaseofconfiguration.\
#ItfeaturesaveryApache-likeconfigurationsyntax,\
#andahighlycustomizableserverinfrastructure,\
#includingsupportformultiple'virtual'FTPservers,\
#anonymousFTP,andpermission-baseddirectoryvisibility.
#processname:proftpd
#config:/etc/proftpd.conf
#
#By:OsmanElliyasa<osman@Cable.EU.org>;
#$Id:proftpd.init.d,v1.72002/12/0721:50:27jwmExp$

#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions

if[-f/etc/sysconfig/proftpd];then
./etc/sysconfig/proftpd
fi

#下面这行设置环境变量,注意设置好你的proftpd的安装目录
PATH="$PATH:/usr/local/sbin:/var/proftpd/bin:/var/proftpd/sbin"

#Seehowwewerecalled.
case"$1"in
start)
echo-n"Startingproftpd:"
daemonproftpd$OPTIONS
echo
touch/var/lock/subsys/proftpd
;;
stop)
echo-n"Shuttingdownproftpd:"
killprocproftpd
echo
rm-f/var/lock/subsys/proftpd
;;
status)
statusproftpd
;;
restart)
$0stop
$0start
;;
reread)
echo-n"Re-readingproftpdconfig:"
killprocproftpd-HUP
echo
;;
suspend)
hashftpshut>;/dev/null2>;&1
if[$?=0];then
if[$#-gt1];then
shift
echo-n"Suspendingwith'$*'"
ftpshut$*
else
echo-n"SuspendingNOW"
ftpshutnow"Maintananceinprogress"
fi
else
echo-n"Nowaytosuspend"
fi
echo
;;
resume)
if[-f/etc/shutmsg];then
echo-n"Allowingsessionsagain"
rm-f/etc/shutmsg
else
echo-n"Wasnotsuspended"
fi
echo
;;
*)
echo-n"Usage:$0{start|stop|restart|status|reread|resume"
hashftpshut
if[$?=1];then
echo'}'
else
echo'|suspend}'
echo'suspendacceptsadditionalargumentswhicharepassedtoftpshut(8)'
fi
exit1
esac

if[$#-gt1];then
shift
$0$*
fi

exit0
#######脚本结束#########

按Esc,输入:x保存。

修改权限,然后添加到系统服务并启动

chmod+x/etc/rc.d/init.d/proftpd
chkconfig--addproftpd
serviceproftpdstart


以后可以用serviceproftpdrestart来重起proftpd。

6一点体会
看proftpd的文档翻译过的一句话:Finally,aspecialcommandisallowedwhichcanbeusedtocontrolloginaccess:LOGINConnectionorloginto

theserver.Applyinga<Limit>;tothispseudo-commandcanbeusedtoallowordenyinitialconnectionorlogintothecontext.Ithasno

effect,andisignored,whenusedinacontextotherthanserverconfig,<VirtualHost>;or<Anonymous>;(i.e.usingitina<Directory>;context

ismeaningless).

翻译下:最后,有一个用来限制登陆的特殊命令,就是LOGIN。在<limit>;中用这个,可以禁止或者允许连接进来。但是,如果不在Serverconfig,<VirtualHost>;

或者<Anonymous>;中使用的话,他将失去效用,或者说被忽略掉(比如在<Directory>;中使用就是无效的)。

proftpd感觉还是比vsftp功能配置上好用一点,主要掌握好<limit>;段基本上应用来说就没有问题了。
proftpd文档地址http://www.proftpd.org/docs/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值