Jak na FTP v Linuxu
V Operačním systému GNU/Linux existuje mnoho nejen síťových aplikací, ze všech možných FTP serverů popíšu instalaci a nastavení ProFTPd serveru s podporou databáze, což umožní přidávat a editovat uživatele pohodlným a rychlým způsobem bez restartování serveru.Instalace
V Debianu a na něm založených distribucích (ubuntu) by mělo stačit zadat pod uživatelem root (před příkaz přidátesudonebo se nejdříve přihlásíte příkazem
su):
apt-get install proftpd proftpd-mysql
V dalších použijete instalace podle vašeho balíčkovacího systému (u RMPkových rpm --install proftpd-<verze>.rpm). Pokud jste balíčky nenašli ve vašem repozitáři a nemůžete je tedy nainstalovat, můžete se po nich pohlédnout jinde nebo si zkompilovat vlastní. Stáhnete si z oficiálních stránek ProFTPd tento server ve zdrojových kódech, archiv rozbalíte a pomocí svaté trojice zkompilujete s modulem pro práci s databází.
./configure --with-modules=mod_sql
make
make install
Nastavení
Nyní máme nainstalovaný FTP server ale potřebujeme jej ještě nastavit. Stejně jako většina nastavení má i ProFTPd hlavní konfigurační složku v/etc v /etc/proftpd/proftpd.conf,
/etc/proftpd.confnebo
/usr/local/etc/proftpd.conf. Soubor otevřete ve vašem oblíbeném textovém editoru pod uživatelem root. Řádky začínající znakem # jsou komentáře, kde si zapsat vaši poznámku. Ty nejsou důležité tak jako konfigurační možnosti (v závorce uvádím jak mám nastaveno já):
ServerName- Obsahuje název počítače ("Debian")
ServerType- Obsahuje standalone nebo inetd podle toho, zda chcete nechat naslouchat přímo server nebo inetd (standalone)
DefaultServer- Nastavuje server jako standardní (on)
ShowSymlinks- Zobrazit symbolické odkazy (on)
User- Jméno uživatele pod kterým poběží server (nobody)
Group- Jméno uživatele pod kterým poběží server (nogroup)
DefaultRoot- Výchozí adresář (~) Pozn: ~ znamená v Linuxu domovskou složku
ProFTPd má podobné nastavení jako server Apache, proto pro více možností navštivte stránku dokumentace. Zde se dozvíte kde všude můžete použít konfigurační direktivu. Seznam konfiguračních možností najdete na webu ProFTPd..
Nastavení s MySQL
Cílem bylo zprovoznit ProFTPd server dynamicky bez dalších zásahů ve konfiguraci, aby jsme server nemuseli restartovat. K tomu potřebujeme přidat do konfiguračního souboru navíc tyto řádky:SQLConnectInfo databaze@server prihlasovaci_jmeno heslo(pftpd@localhost pftpd ******)
SQLAuthenticate tabulka(users)
SQLAuthTypes backendTyp autentifikace
SQLDefaultHomedir Standardni_adresar(/home/ftp)
Následující sloupce tabulky uvádí informace o uživateli a skupině:
SQLUserInfo users userid passwd uid gid homedir shell
SQLGroupInfo groups groupname gid members
Pokud chcete logovat přístupy uživatele:
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1 WHERE userid='%u'" users
Zde je SQL, které můžete použít pro výrobu tabulky:
CREATE TABLE `users` (
`userid` varchar(255) NOT NULL default '',
`name` varchar(255) default NULL,
`mail` varchar(255) default NULL,
`uid` int(11) default '65534',
`gid` int(11) default '65534',
`passwd` varchar(255) NOT NULL default '',
`shell` varchar(255) NOT NULL default '/bin/neexistujici',
`homedir` varchar(255) NOT NULL default '/home/ftp',
`note` text,
`count` int(11) NOT NULL default '0',
`admin` int(1) NOT NULL default '0',
`closed` int(1) NOT NULL default '0',
UNIQUE KEY `userid` (`userid`)
)
Pomocí PHP s MySQL si nyní můžete vytvořit jednoduchou tabulku do které můžete přidávat, mazat a upravovat uživatele. Článek byl míněn jako mini manuál, pokud máte nějaký dotaz zeptejte se v diskusi pod článkem.
Vyzkoušetje také příkaz
ftptoppro zobrazování aktuálného dění na serveru nebo příkaz
ftpwhopro informace, kdo je právě přihlášený.
Autor: martin