Cara menginstal dan mengkonfigurasi server FTP dengan pengguna virtual Pure-FTPd +

Saya adalah salah satu orang yang suka berinovasi dan belajar hal-hal baru, belum lama ini saya harus menginstal dan mengkonfigurasi server FTP dan saya memutuskan untuk melakukannya dengan cara yang berbeda dari biasanya.

Dalam hal ini saya memilih layanan FTP dengan pengguna virtual, pengguna yang akan disimpan dalam file terenkripsi (pengguna, kata sandi, pengaturan, dll.), Semua dengan FTPd murni.

Di sini saya akan menunjukkan cara melakukannya ... baik, mari kita mulai 😉

Pertama-tama, tentukan bahwa perintah dalam tutorial ini ditujukan untuk distro seperti Debian atau berdasarkan mereka, namun jika seseorang menggunakan distro lain di server mereka, mereka harus menginstal paket yang sama dan menggunakan pengaturan yang ditetapkan di bawah ini, satu-satunya hal yang perlu diubah adalah perintah instal.

Semua perintah yang akan mereka baca akan dieksekusi sebagai root, jika diinginkan, Anda dapat menambahkan "sudo" ke setiap baris.

1. Pertama kita harus menginstal Pure FTPd:

apt-get install pure-ftpd

Outputnya akan berakhir seperti ini:

menginstal-pure-ftpd

2. Layanan sudah diaktifkan, tetapi tidak ada gunanya jika kita belum mengkonfigurasinya dengan benar, mari kita letakkan file konfigurasi yang luas tetapi hampir standar, ini berisi yang normal, menetapkan bahwa pengguna anonim tidak diizinkan, dll.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. Nah, misalkan folder FTP kita adalah / var / www / ftp / dan kita ingin membuat pengguna yang dapat mengunggah informasi ke folder / var / www / ftp / sysadmin /, mari letakkan yang berikut ini di terminal:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

Artinya sebagai berikut:

pure-pw: Perintah yang digunakan untuk memanipulasi pengguna Pure-FTPd
useradd: Kami menunjukkan bahwa kami akan menambahkan pengguna
sysadmin: Pengguna yang ingin saya buat
-u 2001: UserID dari pengguna tersebut
-g 2001: GroupID dari pengguna tersebut
-d / var / www / ftp / sysadmin /: Folder yang akan menjadi rumah pengguna tersebut, yaitu tempat mereka akan mengunggah sesuatu

Ketika Anda memasukkan baris sebelumnya, itu akan menanyakan kata sandi pengguna itu.

Mereka sebelumnya harus membuat folder sysadmin di dalam / var / www / ftp /

4. Sekarang mereka harus menyegarkan file database pengguna, untuk ini kita masuk ke folder / etc / pure-ftpd / (cd / etc / pure-ftpd) dan taruh di terminal:

pure-pw mkdb

5. Sekarang kita harus memulai Pure-FTPd tetapi menunjukkan bahwa kita akan menggunakan file pengguna virtual, pertama-tama mari kita hentikan layanan:

/etc/init.d/pure-ftpd stop

Kemudian kami akan memastikan bahwa ini tidak akan dimulai secara default secara normal:

chmod -x /etc/init.d/pure-ftpd

Dan sekarang kami memulai layanan dengan cara kami:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Jika mereka mencoba menggunakan aplikasi seperti Filezilla, mereka akan melihat bahwa mereka dapat terhubung tanpa masalah dengan pengguna yang dibuat, namun mereka tidak akan dapat menyalin apa pun atau membuat direktori, ini karena folder / var / www / ftp / sysadmin / (rumah pengguna sesuai contoh) tidak memiliki izin yang sesuai, itu akan diperbaiki dengan:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Ingat Uid dan Gid 2001 adalah salah satu user yang kita buat, kita buat dengan perintah pada langkah 3 sebelumnya 😉

7. Untuk menghentikan layanan, cukup tekan [Ctrl] + [C] di terminal yang sama atau, di terminal lain, lakukan:

killall pure-ftpd

Sekarang kami akan menunjukkan bahwa layanan akan dimulai secara otomatis dengan sistem ketika server dimulai, untuk ini kami memodifikasi file /etc/rc.local dan sebelum baris terakhir yang mengatakan "exit 0" kami meletakkan perintah yang kami gunakan untuk memulai layanan FTP:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

Dengan kata lain, akan terlihat seperti ini:

rc-local-pure-ftpd

Anda dapat mengedit file dengan nano, vi atau editor pilihan Anda, atau jika Anda lebih suka, salin dan tempel perintah ini yang akan membuat pekerjaan Anda lebih mudah:

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

... ya ya ... saat Anda membaca, «memfasilitasi», ini adalah perintah ekstensif ya, tetapi ini hanya untuk mengganti teks dengan perl dan gema yang tidak berbahaya 🙂

8. Setelah ini selesai, restart server dan Anda akan melihat bahwa layanan pure-ftpd telah dimulai dan siap untuk bekerja 😀

Bagaimana cara menghapus pengguna?

Seperti yang saya katakan sebelumnya, perintahnya murni-pw adalah apa yang kita butuhkan untuk memanipulasi pengguna, untuk menghapus pengguna (misalnya, sysadmin) mari letakkan yang berikut ini:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

Ingatlah bahwa setiap kali Anda membuat perubahan ke pengguna mana pun, Anda harus membuat ulang file basis data virtual pengguna, itu terletak di / etc / pure-ftpd / dan itu dibuat / diperbarui dengan pure-pw mkdb

Pokoknya teman-teman saya pikir tidak banyak yang bisa ditambahkan, mengundang Anda untuk membaca bantuan pure-pw karena ini memungkinkan kami lebih dari apa yang saya tunjukkan di sini (ini hanya tutorial singkat dan hampir dasar).

Satu atau dua tahun yang lalu saya adalah salah satu dari mereka yang menautkan semuanya ke OpenLDAP atau MySQL, tetapi seiring berjalannya waktu saya menyadari bahwa begitu banyak koneksi ke database yang merupakan server menghasilkan konsumsi yang berkali-kali tidak dapat kami beli, Untuk alasan ini, penggunaan alternatif yang benar-benar layak seperti menggunakan database dalam file aplikasi itu sendiri, seperti Pure-FTPd .pdb 🙂

Jika ada keraguan atau pertanyaan, saya akan berusaha membantu semampu saya.

Salam dan… selamat meretas!


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   hidup dijo

    Bahwa .. Dokumentasi jika ada kesalahan 😀

    1.    KZKG ^ Gaara dijo

      Dan saya sudah menulis posting tentang cara menginstal Nginx + MySQL + Spawn_FastCGI seperti yang saya lakukan di Justice, dan terima kasih untuk itu blog berfungsi dengan baik :)

      Saya berharap untuk menyiapkannya untuk besok atau lusa.

  2.   Rodolfo dijo

    Pos bagus; Lucu sekali, baru-baru ini saya berjuang untuk meletakkan server ftp saya, saya bahkan tidak bisa dengan vsftpd dan saya pergi ke pure-ftpd dan bagaimana jika saya pikir saya membutuhkannya adalah dengan memberikan contoh conf yang jelas, dokumentasinya sangat bagus, tetapi setidaknya dasar-dasarnya . Enkripsi, atau setidaknya port forwading jika router digunakan.
    Dengan perintah ini pure-ftpwho yang memberi tahu Anda siapa yang terhubung ke server, dan jika ada sesuatu yang sedang diunduh;).
    Dan menurut Anda, meletakkan database untuk terkoneksi dengan server tidak begitu diperlukan.

    1.    KZKG ^ Gaara dijo

      Terima kasih atas komentarnya 🙂

      Ya memang, saya tidak menjelaskan banyak hal (semuanya sebenarnya) dalam konfigurasi, saya berasumsi bahwa seseorang yang tahu cara mengelola server, yang ingin menginstal layanan FTP, bahwa seseorang tidak akan mengalami masalah besar dalam membaca komentar dari file conf. ^ - ^

      Salam dan sekali lagi, terima kasih atas komentarnya

  3.   tahuri dijo

    Halo Posting yang sangat bagus, saya menggunakan (atau setidaknya untuk saat ini) vsftpd tetapi saya memiliki beberapa masalah dengannya, dan saya ingin melihat apakah saya kebetulan melakukannya, apakah Anda memiliki url atau doc ​​untuk melihat bagaimana konfigurasinya?

    Terima kasih banyak };)

    1.    KZKG ^ Gaara dijo

      Anda dapat melihat konfigurasinya di sini: http://ftp.desdelinux.net/pure-ftpd.conf
      Ada pertanyaan atau jika Anda membutuhkan sesuatu, buka utas di forum yang dengan senang hati kami akan membantu Anda 🙂

  4.   Atheus dijo

    Sangat bagus 😀

    Hanya satu hal kecil, perintah perl tidak memiliki simbol ^, jadi tidak mengubah exit 0 lainnya yang ada di komentar:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    salam

  5.   Omar dijo

    Luar biasa, saya hanya punya pertanyaan, bagaimana cara membuat pengguna hanya-baca? Saya menggunakan Centos 6.5, pureftpd, ispconfig dan mode grafis.

    Saya menggunakan ispconfig hanya untuk ftp

    salam dan terima kasih

  6.   musim dijo

    Cara menginstal pureftp ini adalah ASCO 🙂 Anda membiarkan layanan berjalan sebagai root, membuat pengguna virtual dan kemudian mengubah izin pada sistem file, dan ufff lama dll. Cara paket terinstal siap digunakan, tidak perlu melakukan semua langkah ini

    1.    hidup dijo

      Anda diundang untuk menerbitkan panduan yang tidak terlalu "menjijikkan" .. 😉

    2.    seslava dijo

      Apa yang kamu usulkan? Letakkan server ftp untuk mendengarkan pada port> 1024? Jika server ftp mendengarkan pada port standarnya: 22 itu harus dijalankan sebagai root kecuali Anda mengubah kemampuan kernel, jika Anda ingin meningkatkan keamanan, gunakan kerangka kerja MAC dengan SELinux, varian lain adalah melakukan jail / chroot pada server ftp.

  7.   Ll Tailor dijo

    Link untuk pure-ftpd.conf sedang down atau tidak ada. Bisakah Anda memulihkannya?
    terima kasih

  8.   lampiran dijo

    2 tahun kemudian tautan untuk file pure-ftpd.conf masih tidak aktif 🙁