Internet Windows Android
Kengaytirish

Linuxda FTP serverini o'rnatish va sozlash. Linux FTP serverini o'rnatish va sozlash Linuxda FTP ulanishini qanday sozlash mumkin

Vaqti-vaqti bilan har bir tizim ma'muri FTP serveriga ehtiyoj sezadi, ko'pincha bu ilovalar o'rtasida avtomatik rejimda ma'lumot almashinuvini ta'minlash zarurati bilan bog'liq, masalan, taqsimlangan 1C ma'lumotlar bazasini avtomatik almashish paytida, yoki veb-serverdagi fayllarga kirish uchun. Bugun biz sizga Ubuntu platformasida yarim soatdan kamroq vaqt ichida bunday serverni qanday yaratishni aytib beramiz.

Lekin birinchi navbatda, bir oz nazariya. FTP (File Transfer Protocol) protokoli, nomidan ko'rinib turibdiki, fayllarni uzatish uchun mo'ljallangan va 1971 yilda paydo bo'lgan, ammo yoshi katta bo'lishiga qaramay, u hozirgi kungacha keng qo'llanilib kelmoqda. Bugungi kunda undan foydalanish ko'proq texnik xususiyatga ega bo'lsa-da, oxirgi foydalanuvchilar uchun brauzer va HTTP yordamida ma'lumotlarga kirish odatiy holdir. FTP ning afzalliklari orasida ulanish buzilganda faylni qayta tiklash va fayllarni o'qish va ularni teng darajada oson yozish qobiliyati kiradi. Ammo kamchiliklar mavjud, eng jiddiysi past xavfsizlik, shuning uchun bu masalaga eng katta e'tibor berilishi kerak.

FTP, xuddi PPTP kabi, buyruqlarni uzatish va ma'lumotlarni uzatish uchun turli xil ulanishlardan foydalanadi. Ulanishni boshlashda mijoz serverning 21-portiga boshqaruv buyruqlarini uzatadi, bu esa o'z navbatida 20-portda ma'lumotlarni uzatish uchun chiquvchi ulanishni o'rnatadi, muzokaralar natijasida mijoz tomonidan port aniqlanadi. Biroq, agar mijoz NAT ortida bo'lsa, ulanishni bu tarzda o'rnatib bo'lmaydi, shuning uchun qo'shimcha FTP passiv rejimi ishlab chiqilgan bo'lsa, mijoz server emas, balki ma'lumotlarni uzatish uchun ulanishni o'rnatadi, lekin u tomonidan belgilangan parametrlar bilan. server. FTP-ni yo'naltirishda va tarmoq filtrini sozlashda ushbu fikrlarni hisobga olish kerak.

Serverimiz uchun biz foydalanamiz vsftpd- oddiy, tez va xavfsiz FTP serveri. U tashqi va ichki tarmoqlarga xizmat qilishi sababli, bu rolni biznikiga qo'shish mantiqan. Serverni o'rnatish juda oddiy:

Apt-get o'rnatish vsftpd

Server konfiguratsiya fayli orqali sozlangan /etc/vsftpd.conf u oddiy tuzilishga ega, yaxshi sharhlangan va minimal bilimga ega bo'lgan hech qanday ko'rsatmalarsiz serverni sozlash imkonini beradi. Keling, uning asosiy parametrlarini ko'rib chiqaylik.

Server doimiy ravishda xizmat sifatida ishga tushirilishi yoki kerak bo'lganda ishga tushirilishi mumkin, birinchi variant biz uchun ko'proq mos keladi:

Tinglang = HA

Ushbu parametr o'zaro eksklyuziv yozuvga ega, uni shaklga qisqartirish kerak:

Listen_ipv6 = YO'Q

Faqat mahalliy foydalanuvchilarga tizimga kirishga ruxsat bering:

Anonim_enable = YO'Q
local_enable = HA

Keling, foydalanuvchilarga fayllarni yozishga ruxsat bering va serverga kerakli huquqlarni avtomatik ravishda o'rnatishni ayting (papkalar uchun 755 va fayllar uchun 644):

Write_enable = HA
local_umask = 022

Agar siz boshqa huquqlar to'plamini o'rnatmoqchi bo'lsangiz: 775 va 664, u holda umask 002 bo'lishi kerak.

Odatiy bo'lib, server fayllarni vaqt mintaqangiz vaqtiga o'rnatish uchun GMT vaqtidan foydalanadi, variantdan foydalaning:

Use_localtime = HA

Yuklangan va yuklab olingan fayllar jurnalini yoqing:

Xferlog_enable = HA

Serverga 20-portda ma'lumotlar ulanishlarini o'rnatishga ruxsat bering (faol rejim):

Connect_from_port_20 = HA

Quyidagi parametrlar jurnallarni saqlash joyi va formatini belgilaydi:

Xferlog_file = / var / log / vsftpd.log
xferlog_std_format = HA

Keling, seansning taym-autlarini belgilaymiz:

Idle_session_timeout = 600
data_connection_timeout = 120

Bundan tashqari, xavfsizlik nuqtai nazaridan biz foydalanuvchini uy katalogiga ajratamiz va darhol uning ildiziga yozishga ruxsat beramiz:

Chroot_local_user = HA
allow_writeable_chroot = HA

Matn ma'lumotlari bilan to'g'ri ishlash uchun siz ASCII-ni qo'llab-quvvatlashni yoqishingiz mumkin, bu matnli faylni Windows tizimidan UNIX (Linux) ga o'tkazishda, tarkibni to'g'ri ko'rsatish uchun CR + LF dan LF ga satrlarni ajratish belgilarini to'g'ri almashtirish imkonini beradi. uni orqaga o'tkazishda teskari o'zgartirishni amalga oshiring.

Ascii_upload_enable = HA
ascii_download_enable = HA

Yuklash yoki yuklab olish uchun faqat bitta variantni yoqish mumkin. Ikkilik faylni ASCII rejimida uzatish ikkinchisiga zarar etkazishi mumkinligini unutmang.

Juda qiziqarli variant:

Ls_recurse_enable = HA

Bu rekursiv kataloglarni ko'rib chiqish imkonini beradi, bir tomondan qulay, ikkinchi tomondan, agar siz, masalan, ko'p sonli fayl va kataloglarni o'z ichiga olgan katalog ro'yxatini olsangiz, serverga katta yuk olib kelishi mumkin.

Boshqa barcha variantlarni sukut bo'yicha qoldiramiz, garchi siz u erda o'zingizga yoqqanini yozish orqali server tabriklarini tahrirlashingiz mumkin:

Ftpd_banner = Roga i Kopyta MChJ FTP ga xush kelibsiz

Konfiguratsiya faylining oxirida passiv rejim sozlamalarini o'rnating, agar server NAT orqasida yoki xavfsizlik devori qoidalarida bo'lsa, ularni yo'naltirish paytida belgilashingiz uchun portlarni aniq o'rnatish tavsiya etiladi:

Pasv_enable = HA
pasv_min_port = 62000
pasv_max_port = 62999

Serverni qayta ishga tushiring (buni har safar konfiguratsiyaga o'zgartirish kiritilgandan keyin qilish kerak):

Xizmat vsftpd qayta ishga tushirildi

va mavjud foydalanuvchining hisob ma'lumotlaridan foydalangan holda istalgan FTP mijozi bilan ulanishga harakat qiling. Biz uning uy katalogiga kirishimiz va unda alohida bo'lishimiz kerak.

Vsftpd va seccomp xavfsizlik tizimining noto'g'ri ishlashi bilan bog'liq xatolik yuzaga kelganda:

500 OOPS: prctl PR_SET_SECCOMP bajarilmadi

faylga hujjatsiz variantni qo'shing:

Seccomp_sandbox = YO'Q

Biroq, FTP xavfsiz protokol ekanligini unutmang, shuning uchun har qanday mahalliy foydalanuvchiga serverga kirishga ruxsat berish, hozir bo'lgani kabi, eng yaxshi variant emas. Bunday vaziyatdan qochish uchun vsftpd o'rnatilgan foydalanuvchini boshqarish mexanizmiga ega. Keling, konfiguratsiya fayliga opsiya qo'shamiz:

Userlist_enable = HA

va foydalanuvchi ro'yxati faylini yarating:

/etc/vsftpd.user_list-ga teging

Standart vsftpd taqiqlaydi parolni kiritishdan oldin ham ushbu ro'yxatda ko'rsatilgan foydalanuvchilar uchun serverga kirish, ya'ni. taqiqlanmagan har bir kishiga ruxsat beriladi tamoyilini amalga oshiradi. Ammo boshqacha yondashuvni amalga oshirish juda yaxshi bo'lar edi: ruxsat berilmagan har bir kishi uchun taqiqlangan. Bular. ruxsat faqat belgilangan foydalanuvchilarga kirish. Buning uchun variantni qo'shing:

Userlist_dey = NO

Endi faqat aniq ko'rsatilgan foydalanuvchilar FTP serveriga kirish huquqiga ega bo'ladilar, ular ichida ko'rsatilishi kerak vsftpd.user_list Har bir satrda bittadan, masalan:

Ivanov
petrov

Agar boshqacha ko'rsatilmagan bo'lsa, FTP orqali ulangandan so'ng, foydalanuvchilar uy katalogiga kirishadi. Bu har doim ham qulay emas, ko'pincha ularni boshqa katalogga yo'naltirishingiz kerak. Agar bu hamma uchun umumiy jild bo'lsa, aytaylik / var / ftp, u holda variantni belgilashingiz mumkin:

Local_root = / var / ftp

Bu barcha foydalanuvchilarni belgilangan katalogga yo'naltiradi va u erda ularni ajratib turadi.

Bu eng oddiy holat, haqiqiy vazifalar odatda qiyinroq, deylik, Ivanov foydalanuvchisini asosiy katalog sifatida belgilashimiz kerak. /var/www/example1.com va Petrov /var/www/example2.com shuning uchun ularning har biri o'z papkasi bilan ishlaydi. Ushbu maqsadlar uchun siz vsftpd ning yana bir xususiyatidan foydalanishingiz mumkin - asosiy konfiguratsiya faylidagi sozlamalarni bekor qiluvchi foydalanuvchi sozlamalari.

Buning uchun variantni qo'shing:

User_config_dir = / etc / vsftpd_user_conf

Keyin biz katalogni o'zi yaratamiz

Mkdir / etc / vsftpd_user_conf

Ushbu katalogdagi foydalanuvchi uchun o'z sozlamalarini o'rnatish uchun foydalanuvchi nomi bilan fayl yarating va unga kerakli parametrlarni qo'shing. O'zgarishlar mijoz keyingi safar ulanganda FTP serverini qayta ishga tushirmasdan qo'llaniladi.

Keling, Ivanov uchun sozlamalar bilan fayl yarataylik:

Tocuh / etc / vsftpd_user_conf / ivanov

va unga variant qo'shing:

Local_root = / var / www / example1.com

Keyingi safar ulanganingizda, foydalanuvchining asosiy katalogi belgilanganiga o'zgaradi. Shuningdek, ushbu faylda biz har qanday shaxsiy parametrlarni o'rnatishimiz mumkin, masalan, boshqa umask yoki fayl ruxsatlari. Biroq, biz bu erda global sozlamalardan foydalana olmaymiz: ulanish, ro'yxatga olish, autentifikatsiya opsiyalari, ular shunchaki e'tiborga olinmaydi.

Agar siz fayl va papkalarning haqiqiy egalarini yashirishingiz kerak bo'lsa, unda siz quyidagi variantdan foydalanishingiz mumkin:

hide_ids = HA

Bunday holda, haqiqiy egalar va guruhlar o'rniga ftp: ftp ko'rsatiladi, bu umumiy serverda yoki haqiqiy ma'lumotlarni oshkor qilishni istamaydigan foydalanuvchilar ro'yxatida ruxsatsiz shaxslar bo'lsa foydali bo'lishi mumkin. tizimingizning foydalanuvchi nomlari.

Ko'rib turganingizdek, biz yarim soatdan kamroq vaqt ichida ishlaydigan FTP serverini o'rnatdik.

F TP (File Transfer Protocol) - bu masofaviy tarmoqqa va undan fayllarni uzatish uchun ishlatiladigan standart tarmoq protokoli. Xavfsizroq va tezroq ma'lumotlarni uzatish uchun SCP dan foydalaning.

Linux uchun juda ko'p ochiq manba FTP serverlari mavjud. Eng mashhur va keng qo'llaniladigan PureFTPd, ProFTPD va vsftpd. Ushbu maqolada biz vsftpd ni o'rnatamiz. Bu barqaror, xavfsiz va tezkor FTP serveridir. Shuningdek, biz sizga vsftpd-ni foydalanuvchining uy katalogiga kirishini cheklash va SSL/TLS yordamida barcha uzatishni shifrlash uchun qanday sozlashni ko'rsatamiz.

Ushbu maqola Ubuntu 18.04 uchun yozilgan bo'lsa-da, xuddi shu ko'rsatmalar Ubuntu 16.04 va Debian, Linux Mint va Elementary OS, shu jumladan Debian-ga asoslangan har qanday tarqatish uchun amal qiladi.

Old shartlar

Ubuntu 18.04 da vsftpd o'rnatilmoqda

Vsftpd paketi omborlarda mavjud. Uni o'rnatish uchun quyidagi buyruqlarni bajaring:

Sudo apt update sudo apt install vsftpd

O'rnatish jarayoni tugagandan so'ng vsftpd xizmati avtomatik ravishda ishga tushadi. Xizmat holatini chop etish orqali tekshiring:

Sudo systemctl holati vsftpd

Natija shunday ko'rinadi, bu vsftpd xizmati ishlayotganligini ko'rsatadi:

* vsftpd.service - vsftpd FTP server Yuklangan: yuklangan (/lib/systemd/system/vsftpd.service; yoqilgan; sotuvchi oldindan o'rnatilgan: yoqilgan) Faol: 2018-10-15 03:38:52 PDTdan beri faol (ishlayapti); 10 daqiqa oldin Asosiy PID: 2616 (vsftpd) Vazifalar: 1 (chegara: 2319) CGroup: /system.slice/vsftpd.service `-2616 / usr / sbin / vsftpd /etc/vsftpd.conf

vsftpd sozlanmoqda

Vsftpd serverini /etc/vsftpd.conf faylini tahrirlash orqali sozlash mumkin. Sozlamalarning aksariyati konfiguratsiya faylida hujjatlashtirilgan. Barcha mavjud variantlar uchun vsftpd rasmiy sahifasiga tashrif buyuring.

Keyingi bo'limlarda biz vsftpd xavfsiz o'rnatilishini sozlash uchun zarur bo'lgan ba'zi muhim sozlamalarni ko'rib chiqamiz.

Vsftpd konfiguratsiya faylini ochish bilan boshlang:

Sudo nano /etc/vsftpd.conf

1. FTP ga kirish

Biz faqat mahalliy foydalanuvchilarga FTP serveriga kirishga ruxsat beramiz, anonim_enable va local_enable direktivalarini topamiz va konfiguratsiyangiz quyidagi qatorlarga mos kelishini tekshiramiz:

/etc/vsftpd.conf

Anonim_enable = YO'Q local_enable = HA

2. Yuklab olishni yoqish

Fayl tizimiga fayllarni yuklash va oʻchirish kabi oʻzgarishlarga ruxsat berish uchun write_enable sozlamasini izohdan olib tashlang.

/etc/vsftpd.conf

Write_enable = HA

3. Chroot

FTP foydalanuvchilarining uy kataloglaridan tashqaridagi har qanday fayllarga kirishiga yo'l qo'ymaslik uchun chroot sozlamasidan izohni olib tashlang.

/etc/vsftpd.conf

Chroot_local_user = HA

Odatiy bo'lib, chroot yoqilgan bo'lsa, xavfsizlik zaifligini oldini olish uchun, agar foydalanuvchilar bloklangan katalog yozish mumkin bo'lsa, vsftp fayllarni yuklab olishni rad etadi.

  • 1-usul.- Yuklashga ruxsat berishning tavsiya etilgan usuli chroot-ni yoqish va FTP kataloglarini sozlashdir. Ushbu qo'llanmada biz foydalanuvchining uyida chroot vazifasini bajaradigan va fayllarni yuklash uchun yuklashlar katalogini yozadigan ftp katalogini yaratamiz.

    /etc/vsftpd.conf

    User_sub_token = $ USER local_root = / home / $ USER / ftp

  • 2-usul. Boshqa variant esa, vsftpd konfiguratsiya faylingizga quyidagi direktivani qo'shishdir. Agar siz uy katalogingizdagi foydalanuvchiga yozish huquqini berishingiz kerak bo'lsa, ushbu parametrdan foydalaning.

    /etc/vsftpd.conf

    Allow_writeable_chroot = HA

4. Passiv FTP ulanishlari

vsftpd passiv FTP ulanishlari uchun har qanday portdan foydalanishi mumkin. Biz minimal va maksimal port diapazonini belgilaymiz va keyin xavfsizlik devorida diapazonni ochamiz.

Konfiguratsiya fayliga quyidagi qatorlarni qo'shing:

/etc/vsftpd.conf

Pasv_min_port = 30000 pasv_max_port = 31000

5. Foydalanuvchiga kirishni cheklash

Faqat ma'lum foydalanuvchilarga FTP serveriga kirishga ruxsat berish uchun fayl oxiriga quyidagi qatorlarni qo'shing:

/etc/vsftpd.conf

Userlist_enable = HA userlist_file = / etc / vsftpd.user_list userlist_deny = YO'Q

Ushbu parametr yoqilganda, /etc/vsftpd.user_list fayliga foydalanuvchi nomlarini qo'shish orqali qaysi foydalanuvchilar tizimga kirishi mumkinligini aniq belgilashingiz kerak (har bir satrda bitta foydalanuvchi).

6. SSL / TLS yordamida uzatishni ta'minlash

SSL/TLS yordamida FTP o'tkazmalarini shifrlash uchun sizda SSL sertifikatiga ega bo'lishingiz va undan foydalanish uchun FTP serveringizni sozlashingiz kerak.

Siz ishonchli sertifikatlash organi tomonidan imzolangan sertifikatdan foydalanishingiz yoki o'zingiz imzolagan sertifikat yaratishingiz mumkin.

Agar sizda FTP serverining IP manziliga ishora qiluvchi domen yoki subdomeningiz bo'lsa, shifrlash uchun bepul SSL sertifikatini osongina yaratishingiz mumkin.

Ushbu maqolada biz openssl buyrug'i yordamida o'z-o'zidan imzolangan SSL sertifikatini yaratamiz.

Quyidagi buyruq 2048 bitli shaxsiy kalitni va 10 yil davomida amal qiladigan o'z-o'zidan imzolangan sertifikatni yaratadi. Shaxsiy kalit ham, sertifikat ham bitta faylda saqlanadi:

Sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Endi SSL sertifikati yaratilgandan so'ng, vsftpd konfiguratsiya faylini oching:

Sudo nano /etc/vsftpd.conf

rsa_cert_file va rsa_private_key_file direktivalarini toping, fayl yo'lida ularning pam qiymatini o'zgartiring va ssl_enable direktivasini YES ga o'rnating:

/etc/vsftpd.conf

Rsa_cert_file = / etc / ssl / private / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = HA

Agar boshqacha ko'rsatilmagan bo'lsa, FTP server xavfsiz ulanishlarni ta'minlash uchun faqat TLS dan foydalanadi.

Vsftpd xizmatini qayta ishga tushiring

Tahrirlashni tugatgandan so'ng, vsftpd konfiguratsiya fayli (sharhlar bundan mustasno) quyidagicha ko'rinishi kerak:

/etc/vsftpd.conf

Tinglash = YO'Q listen_ipv6 = HA anonim_enable = YO'Q local_enable = YES write_enable = YES dirmessage_enable = YES use_localtime = YES xferlog_enable = YES connect_from_port_20 = YES chroot_local_user = YES security_chroot_enable / private_enable = HA safe_chroot_enable / private_enable / private_enable / private. xususiy / vsftpd.pem ssl_enable = YES user_sub_token = $ USER local_root = / home / $ USER / ftp pasv_min_port = 30000 pasv_max_port = 31000 userlist_enable = YES userlist_deny = YOQ

O'zgarishlar kuchga kirishi uchun faylni saqlang va vsftpd xizmatini qayta ishga tushiring:

Sudo systemctl vsftpd-ni qayta ishga tushiring

Xavfsizlik devorini ochish

Agar siz UFW xavfsizlik devoridan foydalansangiz, FTP trafigiga ruxsat berishingiz kerak.

21-port (FTP buyruq porti), 20-port (FTP maʼlumotlar porti) va 30000-31000 (passiv port diapazoni)ni ochish uchun quyidagi buyruqlarni bajaring:

Sudo ufw ruxsat 20: 21 / tcp sudo ufw ruxsat 30000: 31000 / tcp

Bloklashni oldini olish uchun biz 22-portni ochamiz:

Sudo ufw OpenSSH ga ruxsat beradi

UFW-ni o'chirish va qayta yoqish orqali UFW qoidalarini qayta yuklang:

Sudo ufw disablesudo ufw yoqish

O'zgarishlarning borishini tekshirish uchun:

Sudo ufw status Status: faol Harakat qilish uchun - ------ ---- 20: 21 / tcp Har qanday joyda RUXSAT BERISH 30000: 31000 / tcp Hamma joyda RUXSAT BERISH OpenSSH Hamma joyda RUXSAT BERISH 20: 21 / tcp (v6) Hamma joyda RUXSAT BERISH (v6 ) 30000: 31000 / tcp (v6) Hamma joyda RUXSAT BERISH (v6) OpenSSH (v6) Hamma joyda RUXSAT BERISH (v6)

FTP foydalanuvchisini yarating

FTP serverimizni sinab ko'rish uchun biz yangi foydalanuvchi yaratamiz.

  • Agar sizda allaqachon FTP ruxsatini bermoqchi bo'lgan foydalanuvchi bo'lsa, 1-bosqichni o'tkazib yuboring.
  • Agar konfiguratsiya faylingizda allow_writeable_chroot = YES ni o'rnatgan bo'lsangiz, 3-bosqichni o'tkazib yuboring.
  1. newftpuser nomli yangi foydalanuvchi yarating: sudo adduser newftpuser
  2. Foydalanuvchini FTP Ruxsat etilgan foydalanuvchilar ro'yxatiga qo'shing: echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
  3. FTP katalog daraxtini yarating va to'g'ri ruxsatlarni o'rnating: sudo mkdir -p / home / newftpuser / ftp / uploadsudo chmod 550 / home / newftpuser / ftpsudo chmod 750 / home / newftpuser / ftp / uploadsudo chown -R newftpuser: / home / newftpuser / ftp

    Oldingi bo'limda muhokama qilinganidek, foydalanuvchi o'z fayllarini ftp / upload katalogiga yuklashi mumkin.

Ayni paytda sizning FTP serveringiz to'liq ishlaydi va siz FileZilla kabi TLS shifrlashdan foydalanish uchun sozlanishi mumkin bo'lgan har bir kishi bilan serveringizga ulanishingiz kerak.

Shellga kirishni o'chirib qo'ying

Odatiy bo'lib, foydalanuvchi yaratishda, agar aniq ko'rsatilmagan bo'lsa, foydalanuvchi SSH serveriga kirish huquqiga ega bo'ladi.

Qobiqga kirishni o'chirish uchun biz yangi qobiq yaratamiz, u shunchaki foydalanuvchiga uning hisobi faqat FTP kirish bilan cheklanganligi haqida xabarni chop etadi.

Shell / bin / ftponly yarating va uni bajariladigan qilib qo'ying:

Echo -e "#! / Bin / sh \ necho" Bu hisob qaydnomasi faqat FTP ruxsati bilan cheklangan. "" | sudo tee -a / bin / ftponlysudo chmod a + x / bin / ftponly

Yangi qobiqni / etc / shells faylidagi joriy qobiqlar ro'yxatiga qo'shing

Echo "/ bin / ftponly" | sudo tee -a / etc / qobiqlari

Foydalanuvchi qobig'ini / bin / ftponly ga o'zgartiring:

Sudo usermod newftpuser -s / bin / ftponly

Xulosa

Ushbu maqolada siz Ubuntu 18.04 tizimingizda xavfsiz va tezkor FTP serverini qanday o'rnatish va sozlashni o'rgandingiz.

File Transfer Protocol (FTP) - bu kompyuterlar o'rtasida fayllarni uzatish uchun TCP protokoli. Ilgari u [Internetdagi fayllarni] yuklab olish uchun ham foydalanilgan, ammo bu usul shifrlashdan foydalanmaganligi sababli, foydalanuvchi ma'lumotlari, fayllar mazmuni kabi, ochiq uzatiladi va osonlik bilan tutib olinadi. Shuning uchun, agar siz bu erda fayllarni xavfsiz uzatish va yuklash usulini izlayotgan bo'lsangiz, Masofaviy boshqaruv bo'limidagi OpenSSH maqolasiga murojaat qilganingiz ma'qul.

FTP mijoz/server asosida ishlaydi. Server komponenti FTP xizmati deb ataladi. U doimiy ravishda uzoq mijozlarning FTP so'rovlarini tinglaydi. So'rov qabul qilinganda, u kirish va ulanishni nazorat qiladi. Seans davomida u FTP mijozi tomonidan yuborilgan har qanday buyruqlarni bajaradi.

vsftpd - FTP serverini sozlash

vsftpd Ubuntuda mavjud FTP xizmati. O'rnatish, sozlash va texnik xizmat ko'rsatish oson. Vsftpd-ni o'rnatish uchun siz quyidagi buyruqni bajarishingiz mumkin:

Sudo apt install vsftpd

Xizmatni ishga tushirish uchun uni ishga tushirishga qo'shishingiz kerak. Ubuntu 15.04 dan beri Systemd ishlatiladi, shuning uchun avtomatik ishga tushirishga vsftpd qo'shish uchun quyidagi buyruqlarni kiriting:

Sudo systemctl ishga tushirish vsftpd sudo systemctl vsftpd yoqish

Ufw xavfsizlik devori Ubuntu serverida ishlatilishi mumkin. Keyin 20 va 21 portlarga ruxsat berishingiz kerak

Sudo ufw ruxsat 20 / tcp sudo ufw ruxsat 21 / tcp

Konfiguratsiya faylida ko'plab sozlash opsiyalari mavjud. Har bir parametr uchun ma'lumot bir xil faylda mavjud. Shu bilan bir qatorda siz tizim buyruqlar qo'llanmasini ko'rishingiz mumkin

Man 5 vsftpd.conf

har bir parametr uchun tafsilotlarni aniqlashtirish uchun.

FTP serveriga kirish ikki usulda tashkil etilishi mumkin:

V anonim rejim masofaviy mijoz FTP serveriga "anonim" yoki "ftp" deb nomlangan standart foydalanuvchi hisobidan foydalanishi va elektron pochta manzilini parol sifatida o'tkazishi mumkin. V ruxsat etilgan rejim foydalanuvchi hisob nomi va parolga ega bo'lishi kerak. Ushbu oxirgi variant juda xavfsiz va maxsus holatlardan tashqari foydalanilmasligi kerak. Agar siz fayllarni xavfsiz uzatishni istasangiz, OpenSSH Server bo'limidagi SFTP ga qarang. Foydalanuvchining FTP serverining kataloglari va fayllariga kirishi tizimga kirish paytida ko'rsatilgan foydalanuvchining kirish huquqlariga bog'liq. Odatda, FTP xizmati FTP serverining asosiy katalogini yashiradi va uni FTP uy katalogiga almashtiradi. Bu fayl tizimining ildizini masofaviy seanslardan yashiradi.

Anonim FTP kirishini sozlash

Standart vsftpd konfiguratsiyasi anonim yuklashga ruxsat bermaydi. Agar siz anonim yuklashga ruxsat bermoqchi boʻlsangiz, /etc/vsftpd.conf da quyidagilarni oʻzgartiring:

Anonymous_enable = HA

O'rnatish jarayoni foydalanuvchi yaratadi ftp uy katalogi bilan / srv / ftp. Bu standart FTP katalogidir.

Agar siz uning manzilini, masalan, / srv / files / ftp ga o'zgartirmoqchi bo'lsangiz, shunchaki yangi katalog yarating va ftp foydalanuvchisining uy katalogini o'zgartiring:

Sudo mkdir / srv / fayllar / ftp sudo usermod -d / srv / fayllar / ftp ftp

O'zgarishlardan so'ng, vsftpd-ni qayta ishga tushiring:

Nihoyat, anonim FTP uchun taqdim qilmoqchi bo'lgan har qanday fayl va kataloglarni / srv / files / ftp (yoki standart sozlamalarni saqlamoqchi bo'lsangiz, / srv / ftp) ga nusxalang.

Odatiy bo'lib, anonim foydalanuvchi FTP serveriga fayllarni yuklash imkoniyatiga ega emas. Ushbu sozlamani o'zgartirish uchun quyidagi qatorni izohdan olib tashlang va vsftpd dasturini qayta ishga tushiring:

Anon_upload_enable = HA

Anonim foydalanuvchiga fayllarni yuklab olishga ruxsat berish jiddiy xavfsizlik xavfi bo'lishi mumkin. Internetdan to'g'ridan-to'g'ri kirish imkoniyati bo'lgan serverlarga fayllarni anonim ravishda yuklashga ruxsat bermaslik yaxshiroqdir.

Vakolatli FTP kirishini sozlash

Konfiguratsiya fayliga biron bir o'zgartirish kiritishdan oldin, sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig paketini qayta o'rnatmasdan o'zgarishlarni orqaga qaytarish imkoniyatiga ega bo'lish uchun namunani nusxalash tavsiya etiladi.

Mahalliy foydalanuvchilarni autentifikatsiya qilish uchun siz chiziqdan izohni olib tashlashingiz kerak

Local_enable = HA

Sukut bo'yicha vsftpd fayllarni qabul qilish qobiliyatiga ega tizim foydalanuvchilarini autentifikatsiya qilish uchun tuzilgan. Agar foydalanuvchilarga fayllarni yuklashiga ruxsat berishni istasangiz, /etc/vsftpd.conf manzilini o'zgartiring:

Write_enable = HA

keyin vsftpd-ni qayta ishga tushiring:

Sudo xizmati vsftpd qayta ishga tushirildi

Endi, tizim foydalanuvchilari FTP orqali tizimga kirganda, ular o'zlarining uy kataloglariga o'tadilar, u erda yuklab olish, [fayllarni] yuklash, katalog yaratish va h.k.

FTP xavfsizligi

Foydalanuvchilarni cheklash

/etc/vsftpd.conf-da vsftpd-ni xavfsizroq qilishga yordam beradigan variantlar mavjud. Masalan, ushbu parametr mahalliy foydalanuvchini chroot () "qamoq" ga qo'yish imkonini beradi, undan yuqorida (katalog daraxti bo'ylab) u ko'tarila olmaydi.

Chroot_local_user = HA

Bundan tashqari, faqat uy katalogiga kirish huquqiga ega bo'lgan foydalanuvchilar ro'yxatini belgilashingiz mumkin:

Chroot_list_enable = HA chroot_list_file = / etc / vsftpd.chroot_list

Ushbu parametrlarga izohni olib tashlaganingizdan so'ng, har bir satrda bittadan foydalanuvchilar ro'yxatini o'z ichiga olgan /etc/vsftpd.chroot_list yarating. Keyin vsftpd-ni qayta ishga tushiring:

Sudo xizmati vsftpd qayta ishga tushirildi

Agar siz uchta qatordan sharhlarni olib tashlagan bo'lsangiz, ro'yxatga kiritilmagan foydalanuvchilardan farqli o'laroq, ro'yxatdagi foydalanuvchilar uy kataloglari bilan cheklanmaydi.

Xuddi shunday, / etc / ftpusers faylida FTP kirish taqiqlangan foydalanuvchilar ro'yxati mavjud. Odatiy bo'lib, u root, demon, hech kim va boshqalarni o'z ichiga oladi. Qo'shimcha foydalanuvchilar uchun FTP ruxsatini rad qilish uchun ularni ushbu ro'yxatga qo'shing.

Agar ulanishga urinayotganda xatolikni ko'rsangiz:

Javob: 500 OOPS: vsftpd: chroot () ichida yoziladigan ildiz bilan ishlashni rad etish

u holda bu mahalliy foydalanuvchining uy katalogiga yozish huquqiga ega ekanligini anglatadi, bu bo'lmasligi kerak. Ushbu xatoni hal qilishning bir necha yo'li mavjud:

    Mahalliy foydalanuvchini uy katalogiga yozishni taqiqlash (hamma uchun emas va har doim ham emas)

sudo chmod a-w / uy / foydalanuvchi / allow_writeable_chroot = HA

    FTP serveriga kirgandan so'ng mahalliy foydalanuvchilar boradigan katalogda ro'yxatdan o'ting / uy. Shunda ularning har biri faqat uy katalogiga yozish imkoniyatiga ega bo'ladi

local_root = / uy

Shifrlash

FTP ishlatilganda shifrlanishi mumkin FTPS... Undan farqli o'laroq SFTP, FTPS SSL orqali FTP hisoblanadi. SFTP shifrlangan SSH ulanishi orqali FTP-ga o'xshash seansdir. Asosiy farq shundaki, SFTP foydalanuvchilari nologin qobig'i o'rniga qobiq hisobiga ega bo'lishlari kerak. Barcha foydalanuvchilarga qobiqdan foydalanish huquqini berish umumiy veb-server kabi ba'zi tizimlar uchun eng yaxshi yechim bo'lmasligi mumkin. Biroq, bunday hisoblarni faqat SFTP bilan cheklash va qobiq bilan o'zaro aloqani oldini olish mumkin. Qo'shimcha ma'lumot olish uchun OpenSSH bo'limiga qarang.

FTPSni sozlash uchun /etc/vsftpd.conf oxiriga quyidagilarni qo'shing:

Ssl_enable = Ha

Shuningdek, sertifikat va kalit variantlarga e'tibor bering:

Rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.key

Odatiy bo'lib, ushbu parametrlar paket tomonidan taqdim etilgan qiymatlarga o'rnatiladi ssl sertifikati... Ishlab chiqarish muhiti uchun ular ma'lum bir kompyuter uchun yaratilgan sertifikat va kalit bilan almashtirilishi kerak. Qo'shimcha ma'lumot olish uchun Sertifikatlar bo'limiga qarang.

Endi vsftpd-ni qayta yuklang va anonim bo'lmagan foydalanuvchilar FTPS-dan foydalanadilar:

Sudo xizmati vsftpd-ni qayta ishga tushiring

/ usr / sbin / nologin qobig'iga ega foydalanuvchilarga FTP kirishiga ruxsat berish, lekin qobiqga kirishni ta'minlamaslik, qobiqqa nologin qo'shish orqali / etc / qobiqlarni tahrirlash:

# / etc / qobiqlar: yaroqli kirish qobiqlari / bin / csh / bin / sh / usr / bin / es / usr / bin / ksh / bin / ksh / usr / bin / rc / usr / bin / tcsh / bin / tcsh / usr / bin / esh / bin / chiziq / bin / bash / bin / rbash / usr / bin / ekran / usr / sbin / nologin

Bu zarur, chunki vsftpd sukut bo'yicha PAM avtorizatsiyasidan foydalanadi va /etc/pam.d/vsftpd konfiguratsiya faylida:

Auth talab qilinadi pam_shells.so

PAM moduli chig'anoqlar/ etc / shells faylida ko'rsatilgan qobiqlarga kirishni cheklaydi.

Eng mashhur FTP mijozlari FTPS dan foydalanish uchun sozlanishi mumkin. Lftp buyruq qatori FTP mijozi ham FTPS dan foydalanish imkoniyatiga ega.

Bu fayllarni uzatish protokoli yordamida fayllarni uzatish qobiliyatidir. U simli va simsiz LAN orqali fayllarni oson almashish uchun ishlatiladi. Ushbu mahalliy server ishda ham, uyda ham foydali bo'lishi mumkin. Ubuntu bilan FTP serveri yanada qulayroq, chunki uni sozlash va ishlatish uchun minimal kuch va resurslar talab etiladi.

Ubuntu asosida ftp server o'rnatilishi mumkin.


Fayl almashish protokoli bugungi kunda o'z resurslarini Internetdagi serverlarga, shuningdek ishonchli kompyuterlar o'rtasida o'tkazish uchun tez-tez ishlatiladi. FileZilla kabi Windows uchun taniqli FTP mijozlari ikkita kompyuter o'rtasida aloqani iloji boricha sodda va boshqariladigan qilib bog'lashni maqsad qilgan.

Protokol mijoz-server mantig'i asosida qurilgan. Bu shuni anglatadiki, ikkita texnik tomon bor - mijoz (ehtiyojlari qondiriladi) va server (ehtiyojlarga xizmat qiladi). Serverga ulanish ochiq autentifikatsiya (foydalanuvchi nomi va parol) yoki anonim (agar qo'llab-quvvatlansa) yordamida amalga oshirilishi mumkin. Shunga qaramay, FTP protokoli xavfsizlik nuqtai nazaridan zaifdir, ayniqsa bugungi standartlar. Biroq, Ubuntu'da FTP o'rnatilishi ba'zi qo'shimcha xavfsizlik standartlarini o'z ichiga olishi mumkin.

Keling, mashg'ulotga tushamiz. Daemon Profpd

Ubuntu FTP serverini muvaffaqiyatli o'rnatish uchun biz "daemon" deb ataladigan dasturdan foydalanamiz. Bu fonda ishlayotganda odatiy vazifalarni bajarishga imkon beruvchi dastur. Ubuntu-da FTP uchun zarur bo'lgan xizmat dasturi Proftpd. Uni o'rnatish terminalda oddiy buyruq bilan amalga oshiriladi:

"Sudo apt-get install proftpd".

O'rnatish tugallangach, siz server konfiguratsiyasini yangilashingiz va asosiy sozlamalarni o'zgartirishingiz kerak bo'ladi. Bu serverga kirish jarayonini sozlashda yordam beradi. Barcha kerakli o'zgarishlar "/etc/proftpd/proftpd.conf" faylida amalga oshirilishi kerak. U to'g'ridan-to'g'ri nano muharriri bilan ochilishi mumkin.

Shunday qilib, Ubuntu FTP serverini sozlash boshlandi. Avvalo, 2 ta kerakli parametrni o'zgartiramiz.

Faylning eng oxirida qatorni qo'shing:

"AuthUserFile /etc/proftpd/ftpd.passwd"

Biz sizni keyinroq qo'shishni taklif qiladigan ushbu hujjatda asosiy kirish parametrlari saqlanadi. "DefaultRoot" - "#" qatoridan sharh belgisini olib tashlang. Endi "/ etc / shells" faylini tahrirlashga o'tamiz. Unga "/ bin / false" qatorini qo'shishingiz kerak. Ushbu buyruqlar yordamida siz mavjud guruhga yangi foydalanuvchilarni qo'shishingiz mumkin bo'ladi:

"Addgroup username group", agar siz "foydalanuvchi nomi" = "ftp" va "group" = "www-data" ni qo'shsangiz, serverning "xususiyati" dagi fayllar bilan ishlash mumkin bo'ladi.

Bundan tashqari, Ubuntu FTP serverini o'rnatish "egasini o'zgartirish" buyrug'ini o'z ichiga oladi: "chown -R ftp: www-data". U fayllar egasini foydalanuvchi "ftp" qilish uchun ishlatilishi mumkin. "www-data" foydalanuvchi guruhiga hujjatlarga guruhli kirish huquqi beriladi. Barcha sozlamalar tugallangach, serverni qayta ishga tushirish kifoya:

"Sudo /etc/init.d/proftpd qayta ishga tushirish"

Endi siz virtual foydalanuvchi hisoblarini o'rnatishingiz kerak. Bu quyidagi sxema bo'yicha amalga oshirilishi kerak:

"Ftpasswd -passwd -file = / etc / proftpd / ftpd.passwd -name = (foydalanuvchi nomi) -shell = / bin / false -home = / var / www / html -uid = (foydalanuvchi identifikatorini buyruq orqali topish mumkin) " id ftp ") -gid = (guruh identifikatori, "www-data" guruhi uchun deylik - 33)

"Sudo nano /etc/dhcp3/dhcpd.conf"

Unga quyidagilarni yozishingiz kerak:

“# Domen nomi (ichki).
variant domen-nomi “domen_name”;
Ulangan shaxsiy kompyuterda #DNS server.
opsiya domen-nomi-serverlar ip_manzil;
# Ushbu qatordan "#" izohini olib tashlang.
vakolatli;
# Server uchun kerakli pastki tarmoq ma'lumotlari.
pastki tarmoq 192.168.0.0 tarmoq niqobi 255.255.255.0 (
# Emissiya manzillari diapazoni.
diapazon IP_manzil IP_manzil;
# Internetga ulangan router. opsiya marshrutizatorlari IP_manzil;
# Tarmoqqa yuklash vaqtida yuklanadigan fayl.
fayl nomi = “tftp / pxelinux.0”;

Endi faqat DHCP serverini qayta ishga tushirish qoladi:

"Sudo /etc/init.d/dhcp3-serverni qayta ishga tushirish".

Ko'rib turganingizdek, Ubuntu FTP serverini o'rnatish hech qanday maxsus texnik ko'nikmalarni talab qilmaydi. Bundan tashqari, bu Linuxda ishlagan har bir kishi uchun juda oddiy.

Xulosa

Ushbu maqolada biz Ubuntu-da FTP serverini qanday o'rnatishni batafsil va batafsil ko'rib chiqdik, shuningdek, TFTP serverini o'rnatishga e'tibor qaratdik. Ushbu vositalar Ubuntu qanchalik moslashuvchan va funktsional ekanligining ajoyib namunasidir. Agar sizda hali ham undan foydalanish va konfiguratsiya haqida savollaringiz bo'lsa, ularni ushbu maqolaga sharhlarda so'rashdan tortinmang. Shuningdek, saytimiz sahifalarida boshqa materiallarni o'qing.

F ile T o'tkazish P rotokol, ya'ni FTP fayl uzatish protokoli bo'lib, to'liq nomidan ko'rinib turibdiki, tarmoq orqali masofaviy kompyuterlar o'rtasida fayllarni uzatish uchun mo'ljallangan. FTP protokolining o'zi hozirgi vaqtda uzatiladigan ma'lumotlar shifrlanmaganligi sababli eng mukammal emasligiga qaramay, bu uni eskirmaydi. Bundan tashqari, FTP-ga SSL protokoli asosida kriptografik himoyani qo'llash hali ham mumkin, bu FTP-ni fayllarni uzatish uchun munosib vositaga aylantiradi.

FTP mijoz-server o'zaro ta'siri sxemasiga muvofiq ishlaganligi sababli, protokolni (va haqiqatan ham tizim) mohirona va ishonchli amalga oshirish uni ishonchli himoya, yuqori tezlik va natijada kuzatilishi mumkin bo'lgan mashhurlik bilan ta'minlashga qodir. bugungi kunda, chunki ftp.gnu.org, ftp.suse.com, ftp.redhat.com, ftp.gnome.org va boshqalar kabi yirik loyihalar o'z serverlaridan dasturiy ta'minotni tarqatish uchun FTP dan foydalanadi. Shuni ta'kidlash kerakki, FTP ning bunday mashhurligi ko'p jihatdan uning ko'plab ilovalaridan biri - vsFTPd bilan bog'liq. Bu ma'lumotlarni himoya qilishning eng zamonaviy texnologiyalari - SSL va IPv6 bilan ishlashni qo'llab-quvvatlaydigan FTP serveri bo'lib, uni amalga oshirish yuqori ishonchlilik, barqarorlik, ishlash va ma'lumotlarni uzatish tezligini, shuningdek, serverning moslashuvchan konfiguratsiyasi va keng funksionallikni birlashtiradi. VsFTPd ma'lumotlarni himoya qilish va axborot xavfsizligi bo'yicha professional tadqiqotchi Kris Evans tomonidan ishlab chiqilgan. vsFTPd deyarli barcha Linux tizimlarida sukut bo'yicha FTP serveridir, chunki yuqorida aytib o'tilganidek, ishonchlilik va yuqori ishlash tezligidan tashqari, u ajoyib funksionallikka ega, ulardan eng muhimi:

  1. Virtual foydalanuvchilar bilan ishlash.
  2. Virtual IP manzillar bilan ishlash.
  3. Foydalanuvchilarni sozlash.
  4. Qo'llab-quvvatlash
  5. O'tkazilgan ma'lumotlarni himoya qilish uchun SSL shifrlash.
  6. Tarmoqli kengligi nazorati.

Ushbu maqolada, aytmoqchi, bepul va ochiq kodli dasturiy ta'minot bo'lgan vsFTPd misolida FTP serverini o'rnatish va sozlash muhokama qilinadi. Loyihaning rasmiy sahifasi: https://security.appspot.com/vsftpd.html.

vsFTPd o'rnatilmoqda

Vsftd-ni Debian-ga yo'naltirilgan Linux distributivlariga o'rnatish uchun quyidagi buyruqdan foydalaning:

$ sudo apt-get install vsftpd

Ulanishlar va fayllarni uzatishni tekshirish uchun oddiy FTP mijozini o'rnatish ham foydali bo'ladi:

$ apt-get o'rnatish ftp

RPM paketlari, CentOS, RedHat asosida tarqatish uchun:

$ yum o'rnatish vsftpd $ yum ftpni o'rnatish

Odatda, o'rnatishdan so'ng, vsFTPd demoni avtomatik ravishda ishga tushadi, buni quyidagi buyruqlar yordamida tekshirishingiz mumkin:

$ systemctl holati vsftpd

$ xizmati vsftpd holati

Serverni ishga tushirish, qayta ishga tushirish va to'xtatish:

$ systemctl start vsftpd $ systemctl restart vsftpd $ systemctl stop vsftpd

Vsftpd demonini ishga tushirishda ishga tushirish uchun quyidagi buyruqdan foydalaning:

$ systemctl vsftpd-ni yoqish

Xuddi shunday xizmat buyrug'i bilan.

Agar vsFTPd tez-tez xavfsizlik devori bilan ishlaydigan server tarqatishlarida ishlatilsa, masalan, ufw, u holda siz 20 va 21 portlardan foydalanishga ruxsat berishingiz kerak bo'lishi mumkin:

$ ufw ruxsat 20 / tcp $ ufw ruxsat 21 / tcp

vsFTPd sozlanmoqda

VsFTPd ni sozlash uchun konfiguratsiya fayli odatda etc / katalogida joylashgan vsftpd.conf faylidir. Siz uning mushuk buyrug'iga bo'lgan qiziqishi bilan tanishishingiz mumkin:

$ cat /etc/vsftpd/vsftpd.conf

Har holda, asl sozlamalar faylini tahrirlashdan oldin uning zaxira nusxasini yaratish foydali bo'ladi:

$ sudo cp /etc/vsftpd.conf vsftpd.conf.backup

VsFTPd FTP serveri anonim va vakolatli foydalanuvchilar bilan ishlash uchun ikkita asosiy variantni taqdim etadi. Birinchi variant "xavfsizroq" deb hisoblanadi, ammo ishonchli himoyani ta'minlash uchun deyarli hech narsani sozlashingiz shart emasligi sababli. Ammo tizimning FTP mahalliy foydalanuvchilari bilan ishlashni o'z ichiga olgan vakolatli kirish tashkiloti bilan siz anonim kirishdan ko'ra yomonroq xavfsizlikni ta'minlay olasiz.

Anonim kirish rejimida sozlash

VsFTPd ning ushbu rejimdagi ishi shundan iboratki, masofaviy serverdagi fayllar bilan harakatlar sukut bo'yicha belgilangan bitta foydalanuvchi tomonidan amalga oshiriladi, masalan, "" nomli foydalanuvchi. ftp"yoki" anonim”, Bu holda elektron pochta parol sifatida ishlatiladi.

Anonim FTP kirishini yoqish uchun vsftpd.conf faylida tegishli direktiva uchun "YES" qiymatini belgilashingiz kerak:

Anonymous_enable = HA

Endi ma'lum bir katalog (odatda / srv / ftp) va ma'lum bir foydalanuvchi - odatda ftp fayllarni boshqarish uchun ishlatiladi.

Anonim FTP kirish uchun boshqa fayl manzilini belgilashingiz mumkin, ya'ni ftp foydalanuvchisining uy katalogini o'zgartirishingiz mumkin:

$ sudo mkdir / srv / almashish / ftp $ sudo usermod -d / srv / almashish / ftp ftp

Agar siz anonim foydalanuvchilar fayllarni masofaviy serverga yuklay olishlarini istasangiz, bu direktiv tomonidan amalga oshiriladi:

Anon_upload_enable = HA

Endi siz ftp foydalanuvchisining uy papkasiga anonim kirish uchun zarur bo'lgan fayllarni nusxalashingiz va vsftpd demonini qayta ishga tushirishingiz mumkin:

$ systemctl vsftpd-ni qayta ishga tushiring

Odatda, ushbu sozlamalar to'plami anonim FTP kirishni tashkil qilish uchun etarli. Ulanishni tekshirish uchun ftp address_host buyrug'ini ishga tushirishingiz mumkin:

$ ftp 127.0.0.1

$ ftp localhost

Agar muvaffaqiyatli bo'lsa, shunga o'xshash narsani beradi:

Vakolatli kirish rejimida sozlash

Local_enable = HA

Write_enable = HA

Endi kiritilgan o'zgarishlarni faollashtirish uchun vsftpd-ni qayta ishga tushirishingiz kerak:

$ systemctl vsftpd-ni qayta ishga tushiring

Foydalanuvchilarni uy kataloglariga cheklash

Faqat uy katalogiga kirishga ruxsat berilgan foydalanuvchilarni aniqlash uchun ko'rsatmalar mavjud:

Chroot_list_enable = HA chroot_list_file = / etc / vsftpd.chroot_list

Birinchisi foydalanuvchilar ro'yxatidan foydalanishga imkon beradi, ikkinchisi har bir satrda foydalanuvchilarning faqat uy kataloglariga kirish huquqiga ega bo'lgan ro'yxatdagi faylni belgilaydi. Agar siz bir vaqtning o'zida direktivani ham belgilasangiz:

Chroot_local_user = HA

bu chroot () da mahalliy foydalanuvchilarni "qulflaydi" va ular uy kataloglaridan yuqoriga chiqa olmaydi, bu holda vsftpd.chroot_list faylidagi foydalanuvchilar ushbu ro'yxatga kiritilmaganlardan farqli ravishda o'zlarining uy kataloglari bilan cheklanmaydi.

Foydalanuvchilar o'rtasida FTP ruxsatini tarqatishda xatolik yuzaga kelishi mumkin, bu mahalliy foydalanuvchining uy katalogining ildiziga yozish huquqiga ega bo'lganligi sababli yuzaga keladi, bu xavfsizlik nuqtai nazaridan qabul qilinishi mumkin emas. Bu xato quyidagicha ko'rinadi:

500 OOPS: vsftpd: chroot () ichida yoziladigan ildiz bilan ishlashni rad etish

Ushbu xatoni tuzatishning eng yaxshi usuli - ma'lum bir umumiy ildiz katalogini ko'rsatish, barcha foydalanuvchilar ulanish paytida faqat o'zlarining uy pastki kataloglariga kirishlari mumkin, masalan:

Local_root = / uy

Ushbu xatoni bartaraf qilish uchun siz uy katalogiga yozishni tekshirishni ham o'chirib qo'yishingiz mumkin:

Allow_writeable_chroot = HA

Ammo baribir, buni faqat ma'lum bir vaziyat uchun nima uchun kerakligini aniq tushungan holda qilish kerak.

SSL bilan ma'lumotlarni himoya qilish

O'tkazilgan ma'lumotlarni shifrlash uchun siz FTPS rejimida vsFTPd ni sozlashingiz kerak. Bu bir xil FTP ma'lumotlar uzatish, lekin SSL protokoli ustida tashkil etilgan. Sertifikatlar va kalitlar yordamida ma'lumotlarni shifrlash va tekshirish.

FTPS rejimini yoqish uchun siz quyidagi direktivani ishlatishingiz kerak:

Ssl_enable = Ha

Odatiy bo'lib, vsftpd.conf konfiguratsiya faylida sertifikatlar va kalitlarni belgilaydigan variantlar ham mavjud, masalan:

Rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.key

Ushbu sertifikat va kalit almashtirilishi kerak. FTPS dan foydalanish uchun siz sertifikat va kalitdan foydalanishingiz kerak. Muayyan server yoki kompyuter uchun yaratilgan (yoki olingan).

Agar xato topsangiz, matn qismini tanlang va tugmasini bosing Ctrl + Enter.