- 論壇徽章:
- 0
|
譯了一點(diǎn)點(diǎn),希望大家努力,把它變成一個(gè)完美的文檔。我一個(gè)人做不來啊。
一個(gè)FTP服務(wù)器,允許管理員管理網(wǎng)站,也允許匿名用戶,使用的是虛擬機(jī)。
安裝:
proftpd-1.2.xx
proftpd-anonymous-1.2.xx
配置
/etc/proftpd.conf
以下:
# 服務(wù)器名字
ServerName "Server Alex.fr"
# ProFTPd 管理員郵箱
ServerAdmin ftp@alex.fr
# "standalone" 單獨(dú)的服務(wù)開啟FTP使用 /etc/init.d/proftpd start
# 這個(gè)大家都明白意思吧
###################################
ServerType standalone
#由于有虛擬機(jī),設(shè)置默認(rèn)的服務(wù)器為開啟狀態(tài)。
DefaultServer on
# 啟用上傳斷點(diǎn)續(xù)傳。
# 很有用的功能。
AllowStoreRestart on
# 應(yīng)該是下載斷點(diǎn)續(xù)傳吧。偶不懂法語啊。
AllowRetrieveRestart on
# Pour éviter d'etre vulnérable aux attaques de type DoS laisser le nombre de processus enfants a 30 maximum
# Ce paramètre n'est valable que si vous fonctionnez en mode "standalone"
# Si vous etes en mode "inetd" vous devrez configurer le nombre de processus enfants maximum dans le server xinetd
MaxInstances 30
# Permet au serveur de rechercher lui meme dans /etc/passwd la validité des mots de passe (Utile pour NIS)
# Laisser par défaut sur "off"
PersistentPasswd off
# Active un arrangement des lignes pour plus de compatibilité
MultilineRFC2228 on
# Oblige proftpd a toujours fournir l'ip Public.
# dans le cas d'une gateway NAT ou un port forwarder
#MasqueradeAddress (votre IP Pubic)
# Définit les ports que ProFTPd va utiliser pour son allocation dynamique.
# Il vous suffit de router les ports en question vers votre serveur ProFTPd.
# Vous définirez ces règles sur votre routeur ou gateway (FW)
#PassivePorts 50000 50010
# Evite le blocage de ProFTP pendant le temps de réponse de résolution DNS
UseReverseDNS off
# Tout ce qui est défini dans <Global>; s'applique a l'ensemble du contexte de configuration, meme VirtualHost
<Global>;
# 為FTP設(shè)置用戶和群組
User nobody
Group nogroup
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022 022
# Force l'option de directory listings (NLST, LIST et STAT) a -l
LsDefaultOptions "-l"
# Autorise le remplacement d'anciens fichiers par des nouveaux, si l'utilisateur a le droit en écriture bien sur.
<Directory />;
AllowOverwrite on
</Directory>;
# Permet de ne pas donner d'information sur le serveur
DeferWelcome off
# On indique au serveur FTP d'utiliser ou non le fichier /etc/ftpusers pour savoir qui a le droit de se connecter.
# Par défaut ce fichier est utilisé par ProFTP
UseFtpUsers on
# Le premier message qui sera affiché quand quelqu'un se connectera
ServerIdent on "Server FTP ready"
# Message d'accueil
AccessGrantMsg "Bienvenue %u sur Alex.fr"
# Autorise le téléchargement ou upload distant directement depuis un autre serveur FTP sans passer par le PC de l'user.
AllowForeignAddress on
# Permet de déconnecter le client au bout de "x" secondes :
# s'il n'y a aucune activité de son coté.
TimeoutIdle 600
# s'il n'y a aucune activité entre la saisie du login et du passwd
TimeoutLogin 300
# s'il n'opére aucun transfert
TimeoutNoTransfer 300
# s'il a stoppé le transfert
TimeoutStalled 3600
# Autorise seulement les noms de fichiers normaux (caractères alphanumeric) et non des codes shell
PathAllowFilter "[a-zA-Z0-9]"
# Refuse l'upload de fichiers .ftpaccess ou .htaccess
PathDenyFilter "(\.ftp)|(\.ht)[a-z]+$"
# N'autorise pas de passer des printf-Formats
AllowFilter "^[a-zA-Z0-9@~ /,_.-]*$"
DenyFilter "%"
# Cache les liens symboliques
ShowSymlinks off
</Global>;
# Permet de prendre en compte le fichier suivant.
Include /etc/proftpd-virtualhost.conf
配置文件 /etc/proftpd-virtualhost.conf
# 給管理員用戶的虛擬機(jī)
<VirtualHost ftpadmin.alex.fr>;
ServerName "Server FTP Admin"
# 給管理員開一個(gè)新的端口,端口號(hào)自定。
Port 2100
# 最大允許密碼嘗試次數(shù)(防止密碼猜測(cè))
MaxLoginAttempts 2
# 要求使用合規(guī)的shell.即用戶要可以登陸的。用戶的shell不能是/bin/nologin之類
RequireValidShell on
# 只允許webmaster 登陸此虛擬機(jī)。
<Limit LOGIN>;
Order Allow,Deny
AllowUser webmaster
Deny from all
</Limit>;
AccessGrantMsg "Bienvenue %u sur le Serveur FTP Admin"
# Autorise seulement ces deux commandes dans /
<Directory />;
<Limit CWD DIRS>;
AllowAll
</Limit>;
<Limit ALL>;
DenyAll
</Limit>;
</Directory>;
# Refuse toutes les commandes dans /var/www/html/webmail
<Directory /var/www/html/webmail>;
<Limit ALL>;
DenyAll
</Limit>;
</Directory>;
# Autorise toutes les commandes dans /var/www/html
<Directory /var/www/html>;
<Limit ALL>;
AllowAll
</Limit>;
</Directory>;
# Autorise toutes les commandes dans /var/www/cgi-bin
<Directory /var/www/cgi-bin>;
<Limit ALL>;
AllowAll
</Limit>;
</Directory>;
# Autorise toutes les commandes dans /var/log/apache
<Directory /var/log/apache>;
<Limit ALL>;
AllowAll
</Limit>;
</Directory>;
</VirtualHost>;
# 為匿名用戶設(shè)置虛擬機(jī)。
<VirtualHost ftp.alex.fr>;
ServerName "Server FTP Public"
Port 21
Umask 027
# 匿名不用密碼驗(yàn)證
IdentLookups off
# Refuse la connexion des Utilisateurs disposant d'un login. Pour autoriser seulement les connexions Amonymous
<Limit LOGIN>;
DenyAll
</Limit>;
# 設(shè)定最大連接的用戶數(shù)
MaxClients 10 "Sorry, max %m users -- try again later"
AccessGrantMsg "Bienvenue %u sur le Serveur FTP Public"
#設(shè)定要包含文件的
Include /etc/proftpd-anonymous.conf
</VirtualHost>;
###################################################################################
###################################################################################
配置文件 /etc/proftpd-anonymous.conf :
# Connecte les Anonymous vers /var/ftp/pub
<Anonymous ~ftp/pub>;
User ftp
Group ftp
# Fait d'anonymous un alias a ftp, en se logant sous anonymous, ils sont appelés ftp
UserAlias anonymous ftp
# Ignore la vérification d'un shell pour anonymous
RequireValidShell off
# Permet de ne pas rechercher dans le systeme, le mot de passe
AnonRequirePassword off
# Pour qu'un message soit affiché a la connexion vous pouvez créer un fichier 'welcome.msg' a la racine (ici ~ftp/pub)
DisplayLogin welcome.msg
# Pour signaler que le client est remonté a la racine vous pouvez créer un fichier '.message' qui s'affichera
DisplayFirstChdir message
# Permet de cacher tous les fichiers appartenant a "root"
HideUser root
HideGroup root
<Limit LOGIN>;
AllowAll
</Limit>;
# Limite les commandes suivantes :
#de renommer, de supprimer des fichiers des répertoires, changer les permissions, ...
<Limit RNFR RNTO DELE RMD CHMOD SITE_CHMOD SITE XCUP WRITE XRMD XPWD>;
DenyAll
</Limit>;
# Autorise l'upload vers le répertoire uploads uniquement
<Directory uploads/*>;
<Limit READ>;
DenyAll
</Limit>;
# Autorise le storage de fichiers et création de répertoires mais pas l'effacement
<Limit STOR MKD>;
AllowAll
</Limit>;
</Directory>;
</Anonymous>;
文件 /etc/ftpusers 的內(nèi)容如下:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody |
|