Som jedným z tých, ktorí radi inovujú a učia sa nové veci. Nedávno som musel inštalovať a konfigurovať FTP server a rozhodol som sa, že to urobím inak, ako som to robil vždy.
V tomto prípade som sa rozhodol pre FTP službu s virtuálnymi používateľmi, ktorí budú uložení v zašifrovanom súbore (používateľské meno, heslo, nastavenia atď.), a to všetko pomocou Pure FTPd.
Tu vám ukážem, ako na to... dobre, začnime
Najskôr špecifikujte, že príkazy v tomto tutoriále sú určené pre distribúcie ako Debian alebo na nich založené. Ak však niekto na svojom serveri použije inú distribúciu, musí si nainštalovať rovnaké balíčky a použiť nastavenia uvedené nižšie, jedine to treba zmeniť je príkaz install.
1. Najprv musíme nainštalovať Pure FTPd:
apt-get install pure-ftpd
Výstup skončí asi takto:
2. Služba je už aktivovaná, ale je zbytočná, ak sme ju správne nenakonfigurovali. Povedzme, že máme dlhý, ale takmer štandardný konfiguračný súbor; obsahuje bežné veci, ako napríklad nastavenie, že anonymní používatelia nie sú povolení atď.
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3. Predpokladajme, že náš FTP priečinok je /var/www/ftp/ a chceme vytvoriť používateľa, ktorý bude môcť nahrávať informácie do priečinka /var/www/ftp/sysadmin/. Do terminálu vložíme nasledujúci kód:
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
To znamená nasledovné:
pure-pw: Príkaz používaný na manipuláciu s používateľmi protokolu Pure-FTPd
useradd: Označujeme, že pridáme používateľa
sysadmin: Používateľ, ktorého chcem vytvoriť
-u 2001: ID používateľa tohto používateľa
-g 2001: GroupID daného používateľa
-d / var / www / ftp / sysadmin /: Priečinok, ktorý bude domovom tohto používateľa, tj. kam bude nahrávať veci
Keď vstúpite do predchádzajúceho riadku, zobrazí sa výzva na zadanie hesla daného používateľa.
4. Teraz je potrebné obnoviť súbor databázy používateľov. Prejdite do priečinka /etc/pure-ftpd/ (cd /etc/pure-ftpd) a do terminálu zadajte nasledujúci príkaz:
pure-pw mkdb
5. Teraz musíme spustiť Pure-FTPd, ale s uvedením, že budeme používať súbor virtuálnych používateľov. Najprv zastavme službu:
/etc/init.d/pure-ftpd stop
Potom sa uistíme, že sa predvolene nespustí normálne:
chmod -x /etc/init.d/pure-ftpd
A teraz začíname službu po svojom:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. Ak sa pokúsite použiť aplikáciu ako FileZilla, uvidíte, že sa môžete bez problémov pripojiť k vytvorenému používateľovi; nebudete však môcť nič kopírovať ani vytvárať adresáre. Je to preto, že priečinok /var/www/ftp/sysadmin/ (v tomto príklade domovský adresár používateľa) nemá príslušné povolenia. Toto sa dá opraviť pomocou:
chown -R 2001:2001 /var/www/ftp/sysadmin/
Pamätajte, že Uid a Gid 2001 je používateľ, ktorého sme vytvorili, vytvorili sme ho príkazom v predchádzajúcom kroku 3
7. Ak chcete službu zastaviť, jednoducho stlačte klávesy [Ctrl]+[C] na tom istom termináli alebo na inom termináli vykonajte nasledujúce kroky:
killall pure-ftpd
Teraz označíme, že služba sa automaticky spustí v systéme pri spustení servera, upravíme tak súbor /etc/rc.local a pred posledný riadok, ktorý hovorí „exit 0“, dáme príkaz, ktorým spustíme službu FTP:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
Inými slovami by to vyzeralo takto:
Súbor môžete upraviť pomocou nano, vi alebo svojho obľúbeného editora, alebo ak chcete, skopírujte a prilepte tento príkaz, ktorý vám uľahčí prácu:
perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local
…áno áno… ako čítate, „uľahčiť“, je to rozsiahly príkaz áno, ale jednoducho nahrádza text perlom a neškodnou ozvenou
8. Keď je to hotové, reštartujte server a uvidíte, že služba pure-ftpd je spustená a pripravená na spustenie
Ako vymazať používateľov?
Ako som už spomenul, na manipuláciu s používateľmi potrebujeme príkaz pure-pw . Na vymazanie používateľa (napríklad sysadmin) použijeme nasledovné:
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
Pamätajte, že vždy, keď urobíte zmenu v užívateľovi, musíte vygenerovať súbor virtuálnej databázy používateľov, ktorý sa nachádza v / etc / pure-ftpd / a je vygenerovaný / aktualizovaný pomocou pure-pw mkdb
Každopádne, priatelia, myslím, že toho nie je veľa čo dodať, pozývam vás, aby ste si prečítali pomoc Pure-pw, pretože nám umožňuje oveľa viac, ako to, čo som vám tu ukázal (jedná sa iba o krátky a takmer základný návod).
Pred rokom alebo dvoma som bol jedným z tých, ktorí všetko prepojili s OpenLDAP alebo MySQL, ale postupom času som si uvedomil, že toľko pripojení k databázam, ktoré sú servermi ako také, generuje spotrebu, ktorú si často nemôžeme dovoliť. životaschopné alternatívy, ako je používanie databáz vo vlastných súboroch aplikácie, ako v tomto prípade Pure-FTPd .pdb
Akékoľvek pochybnosti alebo otázky sa pokúsim pomôcť, ako budem môcť.
Zdravím a ... šťastný hacker!