安装Proftpd的完整过程
2022-10-23
472
安装配置一个proftpd的实例的过程,首先说明一下本次安装的目的,接下来分析如何安装、操作Proftpd
目的:
安装配置一个proftpd,达到以下要求
1、 不允许匿名访问。
2、开放一个帐号,只有在upload目录有上传权限,可以续传,不能改名和删除。
操作:
切换到root帐户
[code:1:de92f96787] su root //输入root的密码。
[/code:1:de92f96787]
一、下载proftpd
这里我们下载了1.2.9版本
[code:1:de92f96787] wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
[/code:1:de92f96787]
二、安装proftpd
切换到下载目录,假设为/tmp/proftpd,然后
[code:1:de92f96787] tar zxvf proftpd-1.2.9.tar.gz //解压
cd proftpd-1.2.9
./configure –prefix=/var/proftpd –sysconfdir=/etc //设置安装目录/var/proftpd,配置文件目录/etc
make
makeinstall
[/code:1:de92f96787]
三、 新建ftp专用帐号
就是上面目的中提到的那个专用帐号,这里以skate/skate(u/p)为例。
[code:1:de92f96787]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用户可写 [/code:1:de92f96787]
四、 设置proftpd
proftpd的配置文件就一个,就是/etc/proftpd.conf
[code:1:de92f96787]vi/etc/proftpd.conf//打开proftpd.conf
[/code:1:de92f96787] [code:1:de92f96787]
####具体配置如下######
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的用户登录 #Orderallow,deny #Allowfrom192.168.0. #Denyfromall #设置只允许skate用户登录,否则系统用户也可以登录ftp #Orderallow,deny #DenyUser!skate # #开起全盘的写权限 AllowOverwriteon AllowStoreRestarton #允许FXP #AllowForeignAddresson AllowAll #设置skate用户在upload的限制 #DELE删除权限 #RNFRRNTO重命名权限 #RMDXRMD移动目录权限 DenyUserskate
#####结束######
[/code:1:de92f96787]
编辑完以后按Esc,然后输入:x保存。
#p#
五、 启动服务
编辑一个启动脚本(这个是从网上copy的,不是我写的,感谢那个写这个脚本的人,很好用,thx)
[code:1:de92f96787] vi /etc/rc.d/init.d/proftpd[/code:1:de92f96787]
[code:1:de92f96787]
#####脚本内容开始########
#!/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 #$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
#######脚本结束#########
[/code:1:de92f96787]
按Esc,输入:x保存。
然后添加到系统服务并启动
[code:1:de92f96787]
chkconfig--addprofptd serviceproftpdstart[/code:1:de92f96787]
以后可以用service proftpd restart来重起proftpd。
六、总结
***,有一个用来限制登陆的特殊命令,就是LOGIN。在 中用这个,可以禁止或者允许连接进来。但是,如果不在Server config,
或者中使用的话,他将失去效用,或者说被忽略掉(比如在中使用就是无效的)。
proftpd感觉还是比vsftp功能配置上好用一点,主要掌握好 段基本上应用来说就没有问题了。这就是安装Proftpd的完整过程。