Tugatgandan so‘ng, faqat foydalanuvchi ro‘yxati faylida ko‘rsatilgan foydalanuvchilarga autentifikatsiya qilishiga ruxsat bering :
userlist_enable = YES Biz faylni virtual foydalanuvchilarimiz bilan ko‘rsatamiz:
userlist_file=/etc/vsftpd.userlist Odatiy bo‘lib, bu foydalanuvchilarga tizimga kirishga ruxsat berilmaydi, lekin biz buning aksini xohlaymiz, shuning uchun ushbu qatorni qo‘shing:
userlist_deny=NO Foydalanuvchilar FTP serveriga kirganda, ular faqat FTP ildiz katalogida ishlashi mumkin. Agar foydalanuvchilarning faqat uy papkasi bilan cheklanishini istasangiz, quyidagi qatorlarni izohdan olib tashlashingiz kerak:
chroot_local_user = YES allow_writeable_chroot = YES Birinchi qator foydalanuvchini alohida uy katalogiga joylashtirish kerakligini, ikkinchisi esa unga ushbu katalogga yozishga ruxsat berilishini bildiradi. Ubuntu FTP-ni sozlash deyarli tugallandi, konfiguratsiya faylida o‘zgarishlarni saqlang va vsftpdni qayta ishga tushiring :
$ sudo systemctl restart vsftpd Server tayyor, lekin tizim hali toʻliq sozlanmagan. Birinchidan, useradd bilan test foydalanuvchimizni yaratamiz :
$ sudo useradd -m -c "Test User" -s /bin/bash testuser $ sudo passwd testuser Biz uning nomidan FTP serveriga ulanishni xohlayotganimiz uchun uni vsftpd.userlist ga qo‘shishimiz kerak:
$ echo "testuser" | sudo tee -a /etc/vsftpd.userlist $ cat /etc/vsftpd.userlist
Endi bizning FTP serverimizga ulanish va u erda hamma narsa qanday ishlashini tekshirish vaqti keldi. Keling, anonim foydalanuvchi sifatida kirishga harakat qilaylik:
Biz muvaffaqiyatga erisha olmaymiz. Endi sinov foydalanuvchisi sifatida tizimga kirishga harakat qilaylik va hamma narsa kerakli tarzda ishlaydi.
3. Foydalanuvchining uy papkalarini sozlash Xavfsizlik bilan bog‘liq muammolarni hal qilish uchun uni foydalanuvchiga ko‘rsatish uchun uy jildingiz o‘rniga boshqa jilddan foydalanishingiz mumkin. Birinchidan, foydalanuvchimiz uchun shunday papka yaratamiz:
$ sudo mkdir -p /home/testuser/ftp/files Ftp jildiga yozish ruxsatini olib tashlaymiz:
$ sudo chown nobody:nogroup /home/testuser/ftp $ sudo chmod a-w /home/testuser/ftp Keyin foydalanuvchiga pastki papkaga yozish uchun kerakli ruxsatlarni bering.
$ sudo chown -R testuser:testuser /home/testuser/ftp/files $ sudo chmod -R 0770 /home/testuser/ftp/files/ Endi vsftpd.conf konfiguratsiya fayliga qaytaylik. Birinchidan, qatorni izohlang:
allow_writeable_chroot = YES Endi quyidagi qatorlarni qo‘shing:
user_sub_token = $USER local_root=/home/$USER/ftp Birinchisi foydalanuvchi nomini o‘z ichiga olgan $ USER o‘zgaruvchisini qo‘shadi, ikkinchisi esa har bir foydalanuvchi uchun ildiz papkasini o‘rnatadi. FTP serverini qayta ishga tushirish uchun qoladi:
$ sudo systemctl restart vsftpd Endi siz ushbu foydalanuvchi sifatida qayta kirishingiz mumkin va biz ko‘rsatgan papka hozirda ishlatilayotganligini ko‘rasiz.