proftpd的安装配置实例
生活随笔
收集整理的這篇文章主要介紹了
proftpd的安装配置实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
一個proftpd的安裝配置實例。目的:?
安裝配置一個proftpd,達到以下要求?
1 ?不允許匿名訪問。?
2 ?開放一個帳號,只有在upload目錄有上傳權限,可以續傳,不能改名和刪除。?
操作:?
0 ?切換到root帳戶?
? ?su root //輸入root的密碼。
1 ?下載proftpd?
地址:www.proftpd.org。這里我們下載了1.2.9版本?
? ? wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
2 ?安裝proftpd?
切換到下載目錄,假設為/tmp/proftpd,然后?? ? tar zxvf proftpd-1.2.9.tar.gz //解壓
? ? cd proftpd-1.2.9
? ? ./configure --prefix=/var/proftpd --sysconfdir=/etc ?//設置安裝目錄/var/proftpd,配置文件目錄/etc
? ? make?
? make install
3 ?新建ftp專用帳號?
就是上面目的中提到的那個專用帳號,這里以skate/skate(u/p)為例。?? ? groupadd skate
? ? useradd ?skate -g skate -d /var/ftp ?-s /sbin/nologin //設置/var/ftp目錄為ftp的目錄
? ? passwd skate //設置skate用戶的密碼
? ?mkdir /var/ftp/upload
? ? chown skate.skate /var/ftp/upload ?//設置upload目錄skate用戶可寫
4 ?設置proftpd?
proftpd的配置文件就一個,就是/etc/proftpd.conf?
? ? vi /etc/proftpd.conf //打開proftpd.conf
####具體配置如下######
ServerName ? ? ? ? ? ? ? ? ? ? ?"Test ftp server..."
ServerType ? ? ? ? ? ? ? ? ? ? ?standalone
DefaultServer ? ? ? ? ? ? ? ? ? on
#端口
Port ? ? ? ? ? ? ? ? ? ? ? ? ? ?21
Umask ? ? ? ? ? ? ? ? ? ? ? ? ? 022
#最大線程數
MaxInstances ? ? ? ? ? ? ? ? ? ?30
u ser ? ? ? ? ? ? ? ? ? ? ? ? ? ?skate
Group ? ? ? ? ? ? ? ? ? ? ? ? ? skate
#DNS反查
UseReverseDNS off
IdentLookups off
#最大嘗試連接次數
MaxLoginAttempts 3
#每用戶線程
MaxClientsPerHost 2
#最大用戶數
MaxClients 20
DirFakeUser On skate
DirFakeGroup On skate
DeferWelcome On
#日志文件位置
SystemLog /var/log/proftpd.log
ServerIdent off
#限制skate組的skate用戶登錄時不能切換到其他目錄(只能呆在他的home目錄)
DefaultRoot ~ skate,skate
#設置只允許192.168.0的用戶登錄
#<limit LOGIN>;
#Order allow,deny
#Allow from 192.168.0.
#Deny from all
#</limit>;
#設置只允許skate用戶登錄,否則系統用戶也可以登錄ftp
#<limit LOGIN>;
#Order allow,deny
#DenyUser !skate
#</limit>;
#開起全盤的寫權限
<Directory />;
? AllowOverwrite ? ? ? ? ? ? ? ?on
? AllowStoreRestart ? ? ? ? ? ? on
#允許FXP
# ?AllowForeignAddress ? ? ? ? ? ? on
<Limit All>;
AllowAll
</Limit>;
</Directory>;
#設置skate用戶在upload的限制
#DELE刪除權限
#RNFR RNTO重命名權限
#RMD XRMD移動目錄權限
<Directory /var/ftp/upload>;
<Limit DELE RNFR RNTO RMD XRMD >;
?DenyUser skate
</Limit>;
</Directory>;
#####結束######
編輯完以后按Esc,然后輸入:x保存。?
5 ?啟動服務?
編輯一個啟動腳本(這個是proftpd自帶的,做了一點小修改)?
? ? vi /etc/rc.d/init.d/proftpd
#####腳本內容開始########
#!/bin/sh
#
# Startup script for ProFTPD
#
# chkconfig: 345 85 15
# description: ProFTPD is an enhanced FTP server with \
# ? ? ? ? ? ? ?a focus toward simplicity, security, and ease of configuration. \
# ? ? ? ? ? ? ?It features a very Apache-like configuration syntax, \
# ? ? ? ? ? ? ?and a highly customizable server infrastructure, \
# ? ? ? ? ? ? ?including support for multiple 'virtual' FTP servers, \
# ? ? ? ? ? ? ?anonymous FTP, and permission-based directory visibility.
# processname: proftpd
# config: /etc/proftpd.conf
#
# By: Osman Elliyasa <osman@Cable.EU.org>;
# $Id: proftpd.init.d,v 1.7 2002/12/07 21:50:27 jwm Exp $
# Source function library.
. /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"
# See how we were called.
case "$1" in
? ? ? ? start)
? ? ? ? ? ? ? ? echo -n "Starting proftpd: "
? ? ? ? ? ? ? ? daemon proftpd $OPTIONS
? ? ? ? ? ? ? ? echo
? ? ? ? ? ? ? ? touch /var/lock/subsys/proftpd
? ? ? ? ? ? ? ? ;;
? ? ? ? stop)
? ? ? ? ? ? ? ? echo -n "Shutting down proftpd: "
? ? ? ? ? ? ? ? killproc proftpd
? ? ? ? ? ? ? ? echo
? ? ? ? ? ? ? ? rm -f /var/lock/subsys/proftpd
? ? ? ? ? ? ? ? ;;
? ? ? ? status)
? ? ? ? ? ? ? ? status proftpd
? ? ? ? ? ? ? ? ;;
? ? ? ? restart)
? ? ? ? ? ? ? ? $0 stop
? ? ? ? ? ? ? ? $0 start
? ? ? ? ? ? ? ? ;;
? ? ? ? reread)
? ? ? ? ? ? ? ? echo -n "Re-reading proftpd config: "
? ? ? ? ? ? ? ? killproc proftpd -HUP
? ? ? ? ? ? ? ? echo
? ? ? ? ? ? ? ? ;;
? ? ? ? suspend)
? ? ? ? ? ? ? ? hash ftpshut >;/dev/null 2>;&1
? ? ? ? ? ? ? ? if [ $? = 0 ]; then
? ? ? ? ? ? ? ? ? ? ? ? if [ $# -gt 1 ]; then
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shift
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo -n "Suspending with '$*' "
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ftpshut $*
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo -n "Suspending NOW "
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ftpshut now "Maintanance in progress"
? ? ? ? ? ? ? ? ? ? ? ? fi
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? echo -n "No way to suspend "
? ? ? ? ? ? ? ? fi
? ? ? ? ? ? ? ? echo
? ? ? ? ? ? ? ? ;;
? ? ? ? resume)
? ? ? ? ? ? ? ? if [ -f /etc/shutmsg ]; then
? ? ? ? ? ? ? ? ? ? ? ? echo -n "Allowing sessions again "
? ? ? ? ? ? ? ? ? ? ? ? rm -f /etc/shutmsg
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? echo -n "Was not suspended "
? ? ? ? ? ? ? ? fi
? ? ? ? ? ? ? ? echo
? ? ? ? ? ? ? ? ;;
? ? ? ? *)
? ? ? ? ? ? ? ? echo -n "Usage: $0 {start|stop|restart|status|reread|resume"
? ? ? ? ? ? ? ? hash ftpshut
? ? ? ? ? ? ? ? if [ $? = 1 ]; then
? ? ? ? ? ? ? ? ? ? ? ? echo '}'
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? echo '|suspend}'
? ? ? ? ? ? ? ? ? ? ? ? echo 'suspend accepts additional arguments which are passed to ftpshut(8)'
? ? ? ? ? ? ? ? fi
? ? ? ? ? ? ? ? exit 1
esac
if [ $# -gt 1 ]; then
? ? ? ? shift
? ? ? ? $0 $*
fi
exit 0
#######腳本結束#########
按Esc,輸入:x保存。?
修改權限,然后添加到系統服務并啟動?
? ? chmod +x /etc/rc.d/init.d/proftpd
? ? chkconfig --add proftpd
? ? service proftpd start
可以用service proftpd restart來重起proftpd。?
6 ?一點體會?
看proftpd的文檔翻譯過的一句話:Finally, a special command is allowed which can be used to control login access: LOGIN Connection or login to ?
the server. Applying a <Limit>; to this pseudo-command can be used to allow or deny initial connection or login to the context. It has no ?
effect, and is ignored, when used in a context other than server config, <VirtualHost>; or <Anonymous>; (i.e. using it in a <Directory>; context ?
is meaningless). ?
翻譯下:最后,有一個用來限制登陸的特殊命令,就是LOGIN。在<limit>;中用這個,可以禁止或者允許連接進來。但是,如果不在Server config,<VirtualHost>; ?
或者<Anonymous>;中使用的話,他將失去效用,或者說被忽略掉(比如在<Directory>;中使用就是無效的)。?
proftpd 配置感覺還是比vsftp功能配置上好用一點,主要掌握好<limit>;段基本上應用來說就沒有問題了。?
proftpd文檔地址http://www.proftpd.org/docs/。?
修改了好幾次了,之前有些筆誤和忘記寫的地方,有什么問題大家提出來,我會及時修改的。謝謝。
雖然關鍵內容不是我的原創,比如那個腳本(我不會寫腳本,呵呵),可是好歹也寫了半天,呵呵。?
歡迎拍轉。
轉載于:https://my.oschina.net/kk2009/blog/170594
總結
以上是生活随笔為你收集整理的proftpd的安装配置实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功男人的策划
- 下一篇: Stimulsoft Reports.S