Jestliže jste tu kvůli konfiguraci FTP serveru, jste na správném místě.
Tento dokument vás naučí jak nastavit bezpečný, jednoduchý a výkonný FTP server. Samozřejmě mluvím o Bftpd. Tento skvělý software je všechno co potřebuji pro provozování FTP služeb a doufám, že tak to bude i u vás. Tento dokument vás nebude učit jak FTP pracuje, zde se totiž předpokládá, že víte jak se věci mají a jen chcete zprovoznit FTP server s použitím Bftpd. Jestliže jste však noví, nepanikařte, vysvětlím každý krok podrobně.
První věc co potřebujute je samotný balíček (samozřejmě!). Většina distribucí má již balíčky hotové, tak moje rada je: podívejte se nejdříve, zda vaše distribuce již balíček neobsahuje. Jestliže jej vaše distro nemá, nebo nevíte, nebo chcete rychlou cestu, můžete se pustit do kompilace sami. Kompilace je jednoduchá a rychlá.
Bftpd má dvě vývojové větve. Stabilní (stable) a vývojovou (development). V tomto tutoriálu se budeme zabývat vývojovou verzi.
Poznámka: Slovo "vývojový" neznamená ve světě Bftpd nic jako "netestováno", "uvidíme co se stane", nebo "Hraju si s kódem". Každá vývojová verze je velmi stabilní a připravená pro použití. Proto se jí budeme zabývat.
Pro stažení navštivte tuto stránku http://bftpd.sourceforge.net/download.html a vyberte "bftpd source code" v sekci "The latest development version of bftpd is x.x.x".
Stačí spustit následující příkazy (nahraďte x.x.x za číslo verze, kterou instalujete):
# rozbalime archiv se zdrojovymi kody
tar xzf bftpd-x.x.x.tar.gz
# vstoupime do adresare s kody
cd bftpd-x.x.x
# spustime svatou trojici
./configure --prefix=/usr
make
make install # zde jsou vyzadovana prava roota
Poznámka: Nezapomeňte ručně nakopírovat bftpd.conf z adresáře se zdrojáky
do /etc
když upgradujete ze starší verze, protože
'make install' nepřepíše vaší stávající konfiguraci.
Poznámka: Pokud chcete využít vlastnost 'tar.gz on-the-fly' na Bftpd,
musíte mít zdrojové kódy programu "pax" a rozbalit je do podadresáře
adresáře se zdrojáky. Potom místo příkazu "./configure", napište
"./configure --enable-pax=pax-sourcedir --enable-libz". Také musíte mít
knihovnu libz a její hlavičkový soubor /usr/include/zlib.h
.
Předtím než server pustíte, je dobré ho nakonfigurovat. To je klíčový bod , ale nejsou zde žádné tajnosti. Všechny konfigurační volby jsou zadávány do souboru bftpd.conf, který je umístěn /etc. Napoprvé ani nemusíte nic měnit, ale vědět, co se ve skutečnosti děje, je dobrá věc. Soubor bftpd.conf je velice dobře pochopitelný a zdokumentovaný, všechny proměnné jsou do detailu vysvětlené, takže je snadné mu porozumět. Jestli chcete vědět jak vypadá můj bftpd.conf, můžete se podívat:
global {
DENY_LOGIN="no"
PORT="21"
PASSIVE_PORTS="0"
DATAPORT20="no"
ADMIN_PASS="x"
PATH_BFTPDUTMP="/var/run/bftpd/bftpdutmp"
XFER_BUFSIZE="2048"
XFER_DELAY="0"
ALLOW_FXP="no"
CONTROL_TIMEOUT="300"
DATA_TIMEOUT="30"
RATIO="none"
ROOTDIR="%h"
UMASK="022"
LOGFILE="/var/log/bftpd.log"
HELLO_STRING="FTP na serveru %i je pripraveno."
AUTO_CHDIR="/var/tmp/"
AUTH="PASSWD"
RESOLVE_CLIENT_IP="no"
MOTD_GLOBAL="/etc/ftpmotd"
MOTD_USER="/.ftpmotd"
RESOLVE_UIDS="yes"
DO_CHROOT="yes"
LOG_WTMP="yes"
BIND_TO_ADDR="any"
PATH_FTPUSERS="/etc/ftpusers"
AUTH_ETCSHELLS="no"
ALLOWCOMMAND_DELE="no"
ALLOWCOMMAND_STOR="yes"
ALLOWCOMMAND_SITE="yes"
HIDE_GROUP=""
QUIT_MSG="Nashledanou.."
USERLIMIT_GLOBAL="0"
USERLIMIT_SINGLEUSER="0"
USERLIMIT_HOST="0"
GZ_UPLOAD="no"
GZ_DOWNLOAD="no"
}
user ftp {
#Uznano bude jakekoliv heslo.
ANONYMOUS_USER="yes"
}
user anonymous {
#Pokud se nekdo prihlasi jako uzivatel ftp
#bude to to same jako uzivatel anonnymous.
ALIAS="ftp"
}
user root {
DENY_LOGIN="Ucet root neni povolen."
}
Naše Bftpd je nyní nakonfigurováno. Tak, teď potřebuje připravit Bftpd ke startu a to můžeme udělat dvěma způsoby. Inetd nebo standalone! A teď mluvím řecky! :-) Nebojte se.
Pokud chcete zvolit inetd mód, přidejte následující řádku do vašeho
/etc/inetd.conf
:
ftp stream tcp nowait root /usr/sbin/bftpd bftpd
Ale jestli chcete inetd mód s xinetd, přidejte následující řádky do vašeho
/etc/xinetd.conf
:
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/bftpd
log_on_success += HOST PID
log_on_failure += HOST
nice = 10
}
V tomto módu program inetd převezme péči o zapínání a vypínání bftpd.
Abych byl upřímný, mám raději mód standalone. Přijde mi, že tak mám větší kontrolu. Zde je příkaz pro spuštění ve standalone módu:
/usr/sbin/bftpd -d
Spuštěním uvedeného příkazu v příkazové řádce spustíte Bftpd. Ale není to moc
pohodlné, protože pokaždé, když budete chtít nastartovat server, musíte tento
příkaz zopakovat. Dobře, můžete vložit tento příkaz do nějakého souboru nebo
skriptu tak, aby se automaticky spouštěl, ale pro vypínání nebo restart musíte
použít příkaz kill
a popřípadě server pustit znovu. Tak pro vyhnutí
se těmto nepříjemnostem a zjednodušení práce mám tento malý skript, který dělá
toto všechno za mne.
#!/bin/bash
case "$1" in
'start')
echo "Startuji bftpd server"
/usr/sbin/bftpd -d
;;
'stop')
echo "Ukoncuji bftpd Server"
killall bftpd
;;
'restart')
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
Udělejte tento skript spustitelným (pomocí chmod +x
) a nakopírujte
jej do /etc/rc.d/
nebo /etc/init.d
To je vše! Nyní máte váš Bftpd nakonfigurovaný a pracující. Blahopřeji!
Všechny uvedené informace stačí pro zprovoznění FTP serveru pokud jste pokročilým nebo středně pokročilým uživatelem, ale pokud jste začátečník, který následoval všechny uvedené kroky, zůstaly některé věci, které musí být ještě objasněny.
Firewall: Je velice důležité, abyste nezapoměli zapsat pravidla pro povolení FTP provozu skrz firewall. Povětšinou následující pravidlo stačí:
IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
Toto je jen příklad. PROSÍM, NASTUDUJTE SI IPTABLES, BUDE SE VÁM TO HODIT.
Uživatelský účet: Tak...teď máte váš FTP server, ale jak se můžu přihlásit? Jednoduše! Jen vytvořte nový uživatelský účet ve vašem Linuxovém systému. Když vytvoříme uživatelský účet, automaticky se vytvoří také domovský adresář. Poté co se uživatel přihlásí na naše FTP, on/ona zadá login a heslo a jestli půjde vše dobře, uživatel spadne přímo do domovského adresáře.
Ip nebo doména: Jestli chcete zpřístupnit vaše FTP celému světu, nepotřebujete doménu, ale stačí jen pevná IP adresa. Pro použití domény k přístupu na FTP musíte mít nakonfigurované DNS.
Myslím, že je hotovo. Doufám, že jsem někomu nějak pomohl. Bftpd je velmi jednoduché používat, žádná tajemství. Pokud si nebude s něčím vědět rady, posím napište mi (anglicky) na zilli.daniel@gmail.com nebo navštivte webovou stránku bftpd.sf.net a kontaktujte Jesse Smitha, bftpd maintainera.
Přeložil: Martin 'dum8d0g' Kopta martin@kopta.eu
Korekce: Pavel 'pools' Klimunda info@keramka.cz
Poděkování: Jesse Smith jessefrgsmith@yahoo.ca (stávající maintainer) a Max-Wilhelm Bruker brukie@gmx.net (původní autor).
Tento text je licencován pod GNU Free Documentation Licencí verze 1.2.
Tato stránka byla naposled změněna 24.11.2007.