Esu iš tų, kurie mėgsta kurti naujoves ir mokytis naujų dalykų. Ne taip seniai teko įdiegti ir sukonfigūruoti FTP serverį ir nusprendžiau tai padaryti kitaip nei visada.
Šiuo atveju pasirinkau FTP paslaugą su virtualiais vartotojais, kurių duomenys bus saugomi užšifruotame faile (vartotojo vardas, slaptažodis, nustatymai ir kt.), visa tai naudojant „Pure FTPd“.
Čia aš jums parodysiu, kaip tai padaryti… na, pradėkime
Visų pirma nurodykite, kad šios mokymo programos komandos yra skirtos distros, pvz., „Debian“, arba pagrįstos jomis, tačiau, jei kas nors naudoja kitą savo serverio platintoją, jie turi įdiegti tuos pačius paketus ir naudoti toliau nurodytus nustatymus - vienintelis dalykas, kurį reikia pakeisti yra diegimo komanda.
1. Pirmiausia turime įdiegti „Pure FTPd“:
apt-get install pure-ftpd
Išvestis baigsis maždaug taip:
2. Paslauga jau aktyvuota, bet ji nenaudinga, jei jos tinkamai nesukonfigūravome. Tarkime, turime ilgą, bet beveik standartinį konfigūracijos failą; jame yra įprasti dalykai, nustatantys, kad anoniminiai vartotojai neleidžiami ir pan.
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3. Gerai, tarkime, kad mūsų FTP aplankas yra /var/www/ftp/ ir norime sukurti vartotoją, kuris galėtų įkelti informaciją į aplanką /var/www/ftp/sysadmin/. Į terminalą įveskime:
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
Tai reiškia:
pure-pw: komanda, naudojama manipuliuoti „Pure-FTPd“ vartotojais
useradd: Mes nurodome, kad pridėsime vartotoją
sysadmin: vartotojas, kurį noriu sukurti
-u 2001: to vartotojo vartotojo ID
-g 2001: to vartotojo „GroupID“
-d / var / www / ftp / sysadmin /: aplankas, kuriame bus tas vartotojas, tai yra, kur jis įkels dalykus
Kai įvesite ankstesnę eilutę, ji paprašys jūsų vartotojo slaptažodžio.
4. Dabar reikia atnaujinti vartotojo duomenų bazės failą. Norėdami tai padaryti, eikite į aplanką /etc/pure-ftpd/ (cd /etc/pure-ftpd) ir terminale įveskite:
pure-pw mkdb
5. Dabar turime paleisti „Pure-FTPd“, nurodydami, kad naudosime virtualių vartotojų failą. Pirmiausia sustabdykime paslaugą:
/etc/init.d/pure-ftpd stop
Tada mes įsitikinsime, kad jis nebus paleistas pagal numatytuosius nustatymus:
chmod -x /etc/init.d/pure-ftpd
Dabar mes pradedame paslaugą savo keliu:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. Jei pabandysite naudoti tokią programą kaip „FileZilla“, pamatysite, kad galite be problemų prisijungti prie sukurto vartotojo; tačiau negalėsite nieko kopijuoti ar kurti katalogų. Taip yra todėl, kad aplankas /var/www/ftp/sysadmin/ (šiame pavyzdyje vartotojo pagrindinis katalogas) neturi atitinkamų leidimų. Tai galima ištaisyti:
chown -R 2001:2001 /var/www/ftp/sysadmin/
Atminkite, kad Uid ir Gid 2001 yra mūsų sukurto vartotojo Uid ir Gid 3, mes sukūrėme jį naudodami komandą ankstesniame XNUMX veiksme
7. Norėdami sustabdyti paslaugą, tiesiog paspauskite [Ctrl]+[C] tame pačiame terminale arba kitame terminale atlikite šiuos veiksmus:
killall pure-ftpd
Dabar mes nurodysime, kad paslauga bus paleista automatiškai sistemoje, kai paleidžiamas serveris. Tam mes modifikuojame /etc/rc.local failą ir prieš paskutinę eilutę, kurioje sakoma "exit 0", įdėjome komandą, su kuria mes pradedame FTP paslauga:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
Kitaip tariant, tai atrodytų taip:
Galite redaguoti failą naudodami „nano“, „vi“ arba mėgstamą redaktorių arba, jei norite, nukopijuokite ir įklijuokite šią komandą, kuri palengvins jūsų darbą:
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
…taip taip… kaip jūs skaitote „palengvinti“, tai yra plati komanda taip, bet tai tiesiog teksto pakeitimas perlu ir nekenksmingu aidu
8. Kai tai bus padaryta, paleiskite serverį iš naujo ir pamatysite, kad „pure-ftpd“ paslauga dabar paleista ir paruošta veikti.
Kaip ištrinti vartotojus?
Kaip jau minėjau anksčiau, norint valdyti naudotojus, reikia komandos „pure-pw“ . Norėdami ištrinti naudotoją (pavyzdžiui, sysadmin), naudotume:
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
Atminkite, kad kiekvieną kartą keisdami bet kurį vartotoją, turite atkurti virtualų vartotojų duomenų bazės failą, jis yra / etc / pure-ftpd / ir yra generuojamas / atnaujinamas naudojant pure-pw mkdb
Bet kokiu atveju, draugai, manau, nėra daug ką pridėti, kviečiame jus perskaityti „pure-pw“ pagalbą, nes tai mums leidžia daug daugiau nei tai, ką jums čia parodžiau (tai tik trumpa ir beveik pagrindinė pamoka).
Prieš metus ar dvejus buvau vienas iš tų, kurie viską susiejo su OpenLDAP arba MySQL, bet laikui bėgant supratau, kad tiek daug prisijungimų prie duomenų bazių, kurios yra serveriai, generuoja suvartojimą, kurio dažnai negalime sau leisti. perspektyvios alternatyvos, pvz., duomenų bazių naudojimas pačios programos failuose, kaip šiuo atveju Pure-FTPd .pdb
Bet kokias abejones ar klausimus bandysiu padėti kiek galiu.
Sveikinimai ir ... laimingas įsilaužimas!