Πώς να εγκαταστήσετε και να ρυθμίσετε έναν διακομιστή FTP με εικονικούς χρήστες Pure-FTPd +

Είμαι ένας από αυτούς που τους αρέσει να καινοτομούν και να μαθαίνουν νέα πράγματα, πριν από λίγο καιρό έπρεπε να εγκαταστήσω και να διαμορφώσω έναν διακομιστή FTP και αποφάσισα να το κάνω διαφορετικά από ό, τι πάντα.

Σε αυτήν την περίπτωση επέλεξα μια υπηρεσία FTP με εικονικούς χρήστες, χρήστες που θα αποθηκευτούν σε ένα κρυπτογραφημένο αρχείο (χρήστης, κωδικός πρόσβασης, ρυθμίσεις κ.λπ.), όλα με Καθαρό FTPd.

Εδώ θα σας δείξω πώς να το κάνετε ... καλά, ας ξεκινήσουμε 😉

Πρώτα απ 'όλα, καθορίστε ότι οι εντολές σε αυτό το σεμινάριο προορίζονται για διανομές όπως το Debian ή βασίζονται σε αυτές, ωστόσο, αν κάποιος χρησιμοποιεί άλλη διανομή στον διακομιστή του, πρέπει να εγκαταστήσει τα ίδια πακέτα και να χρησιμοποιήσει τις ρυθμίσεις που ορίζονται παρακάτω, το μόνο πράγμα που χρειάζεται η αλλαγή είναι η εντολή εγκατάστασης.

Όλες οι εντολές που θα διαβάσουν θα εκτελεστούν ως root, αν θέλετε μπορείτε να προσθέσετε το "sudo" σε κάθε γραμμή.

1. Πρώτα πρέπει να εγκαταστήσουμε το Pure FTPd:

apt-get install pure-ftpd

Η έξοδος θα τελειώσει κάπως έτσι:

εγκατάσταση-pure-ftpd

2. Η υπηρεσία είναι ήδη ενεργοποιημένη, αλλά είναι άχρηστη αν δεν την έχουμε ρυθμίσει σωστά, ας βάλουμε ένα εκτεταμένο αρχείο διαμόρφωσης αλλά σχεδόν τυπικό, περιέχει το κανονικό, αποδεικνύοντας ότι δεν επιτρέπονται ανώνυμοι χρήστες κ.λπ. κ.λπ.

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

3. Ας υποθέσουμε ότι ο φάκελός μας FTP είναι / var / www / ftp / και θέλουμε να δημιουργήσουμε έναν χρήστη που μπορεί να ανεβάσει πληροφορίες στο φάκελο / var / www / ftp / sysadmin /, ας βάλουμε τα ακόλουθα σε ένα τερματικό:

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

Αυτό σημαίνει τα εξής:

pure-pw: Εντολή που χρησιμοποιείται για χειρισμό χρηστών Pure-FTPd
useradd: Δείχνουμε ότι θα προσθέσουμε έναν χρήστη
sysadmin: Ο χρήστης που θέλω να δημιουργήσω
-u 2001: UserID αυτού του χρήστη
-g 2001: GroupID αυτού του χρήστη
-d / var / www / ftp / sysadmin /: Ο φάκελος που θα είναι το σπίτι του συγκεκριμένου χρήστη, δηλαδή όπου θα ανεβάσει πράγματα

Όταν εισαγάγετε την προηγούμενη γραμμή, θα σας ζητήσει τον κωδικό πρόσβασης αυτού του χρήστη.

Πρέπει να είχαν δημιουργήσει προηγουμένως το φάκελο sysadmin μέσα / var / www / ftp /

4. Τώρα πρέπει να ανανεώσουν το αρχείο βάσης δεδομένων χρήστη, για αυτό μπαίνουμε στο φάκελο / etc / pure-ftpd / (cd / etc / pure-ftpd) και βάζουμε στο τερματικό:

pure-pw mkdb

5. Τώρα πρέπει να ξεκινήσουμε το Pure-FTPd αλλά υποδεικνύοντας ότι θα χρησιμοποιήσουμε το αρχείο εικονικών χρηστών, πρώτα ας σταματήσουμε την υπηρεσία:

/etc/init.d/pure-ftpd stop

Στη συνέχεια, θα διασφαλίσουμε ότι δεν θα ξεκινήσει από προεπιλογή κανονικά:

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

Και τώρα ξεκινάμε την υπηρεσία με τον τρόπο:

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

6. Εάν προσπαθήσουν να χρησιμοποιήσουν μια εφαρμογή όπως το Filezilla, θα δουν ότι μπορούν να συνδεθούν χωρίς προβλήματα με τον δημιουργημένο χρήστη, ωστόσο δεν θα μπορούν να αντιγράψουν τίποτα ή να δημιουργήσουν καταλόγους, αυτό συμβαίνει επειδή ο φάκελος / var / www / ftp / sysadmin / ( το σπίτι του χρήστη σύμφωνα με το παράδειγμα) δεν έχει τα κατάλληλα δικαιώματα, θα διορθωθεί με:

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

Θυμηθείτε, το Uid και το Gid 2001 είναι ένας από τους χρήστες που δημιουργήσαμε, το δημιουργήσαμε με την εντολή στο προηγούμενο βήμα 3 😉

7. Για να σταματήσετε την υπηρεσία, απλώς πατήστε [Ctrl] + [C] στο ίδιο τερματικό ή, σε άλλο τερματικό, κάντε ένα:

killall pure-ftpd

Τώρα θα δείξουμε ότι η υπηρεσία θα ξεκινήσει αυτόματα με το σύστημα κατά την εκκίνηση του διακομιστή, για αυτό τροποποιούμε το αρχείο /etc/rc.local και πριν από την τελευταία γραμμή που λέει "έξοδος 0" βάζουμε την εντολή με την οποία ξεκινάμε το Υπηρεσία FTP:

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

Με άλλα λόγια, θα μοιάζει με αυτό:

rc-local-pure-ftpd

Μπορείτε να επεξεργαστείτε το αρχείο με nano, vi ή τον αγαπημένο σας επεξεργαστή ή, αν προτιμάτε, αντιγράψτε και επικολλήστε αυτήν την εντολή που θα διευκολύνει την εργασία σας:

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

... ναι ναι ... όπως διαβάζετε, «διευκολύνετε», είναι μια εκτεταμένη εντολή ναι, αλλά είναι απλώς η αντικατάσταση κειμένου με perl και μια ακίνδυνη ηχώ 🙂

8. Μόλις γίνει αυτό, επανεκκινήστε τον διακομιστή και θα δείτε ότι η υπηρεσία pure-ftpd έχει ξεκινήσει και είναι έτοιμη να λειτουργήσει 😀

Πώς να διαγράψετε χρήστες;

Όπως σας είπα προηγουμένως, η εντολή καθαρό-pw είναι αυτό που πρέπει να χειριστούμε τους χρήστες, για να διαγράψουμε έναν χρήστη (για παράδειγμα, sysadmin) ας θέσουμε τα εξής:

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

Να θυμάστε ότι όποτε κάνετε μια αλλαγή σε οποιονδήποτε χρήστη, πρέπει να αναδημιουργήσετε το αρχείο εικονικής βάσης δεδομένων των χρηστών, βρίσκεται στο / etc / pure-ftpd / και δημιουργείται / ενημερώνεται με το καθαρό pw mkdb

Τέλος πάντων φίλοι νομίζω ότι δεν υπάρχουν πολλά περισσότερα για να προσθέσω, σας προσκαλώ να διαβάσετε τη βοήθεια του καθαρού pw γιατί μας επιτρέπει πολύ περισσότερα από αυτά που σας έδειξα εδώ (αυτό είναι ένα σύντομο και σχεδόν βασικό σεμινάριο).

Πριν από ένα ή δύο χρόνια ήμουν ένας από αυτούς που συνέδεσαν τα πάντα με το OpenLDAP ή το MySQL, αλλά με την πάροδο του χρόνου συνειδητοποίησα ότι τόσες πολλές συνδέσεις με βάσεις δεδομένων που είναι διακομιστές δημιουργούν κατανάλωση που πολλές φορές δεν μπορούμε να αντέξουμε. από πλήρως βιώσιμες εναλλακτικές λύσεις, όπως η χρήση βάσεων δεδομένων στα αρχεία της εφαρμογής, όπως στην περίπτωση του Pure-FTPd .pdb 🙂

Οποιαδήποτε αμφιβολία ή ερώτηση θα προσπαθήσω να βοηθήσω όσο περισσότερο μπορώ.

Χαιρετισμούς και… χαρούμενο χάκερ!


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Έλαβ dijo

    Ότι αυτό .. Τεκμηρίωση σε περίπτωση σφαλμάτων 😀

    1.    KZKG ^ Γκάρα dijo

      Και γράφω ήδη την ανάρτηση για το πώς να εγκαταστήσω το Nginx + MySQL + Spawn_FastCGI όπως έκανα στο Justice, και χάρη σε αυτό το blog λειτουργεί τόσο καλά :)

      Ελπίζω να το προετοιμάσω για αύριο ή μεθαύριο.

  2.   Rodolfo dijo

    Καλή ανάρτηση; Είναι αστείο, πρόσφατα δυσκολεύτηκα να βάλω τον διακομιστή ftp που δεν μπορούσα ούτε με το vsftpd και πήγα στο pure-ftpd και τι εάν νομίζω ότι το χρειάζομαι είναι να βάλω ένα παράδειγμα του σαφούς conf ότι η τεκμηρίωση είναι πολύ καλή, αλλά τουλάχιστον τα βασικά. Κρυπτογράφηση ή τουλάχιστον η θύρα forwading σε περίπτωση χρήσης δρομολογητή.
    Παρεμπιπτόντως με αυτήν την εντολή pure-ftpwho σας επιτρέπει να γνωρίζετε ποιος είναι συνδεδεμένος με τον διακομιστή και εάν κάτι κατεβάζει;).
    Και σύμφωνα με εσάς, η τοποθέτηση μιας βάσης δεδομένων για σύνδεση στον διακομιστή δεν είναι τόσο απαραίτητη.

    1.    KZKG ^ Γκάρα dijo

      Ευχαριστώ για το σχόλιο 🙂

      Ναι, πράγματι, δεν εξήγησα πολλά πράγματα (όλα στην πραγματικότητα) στη διαμόρφωση, είναι ότι υποθέτω ότι κάποιος που ξέρει πώς να διαχειριστεί έναν διακομιστή, που θέλει να εγκαταστήσει μια υπηρεσία FTP, ότι κάποιος δεν θα είχε μεγάλα προβλήματα κατά την σχόλια του αρχείου conf ^ - ^

      Χαιρετισμούς και πάλι, ευχαριστώ για το σχόλιο

  3.   Ταχούρι dijo

    Γεια σας Πολύ καλή δημοσίευση, χρησιμοποιώ (ή τουλάχιστον για τώρα) vsftpd, αλλά έχω κάποια προβλήματα με αυτό και ήθελα να δω αν συνέβη αυτό, έχετε κάποιο URL ή έγγραφο για να δείτε πώς είναι η διαμόρφωσή του;

    Ευχαριστώ πολύ };)

    1.    KZKG ^ Γκάρα dijo

      Μπορείτε να δείτε τη διαμόρφωση εδώ: http://ftp.desdelinux.net/pure-ftpd.conf
      Οποιεσδήποτε ερωτήσεις ή εάν χρειάζεστε κάτι ανοίξτε ένα νήμα στο φόρουμ που θα σας βοηθήσουμε ευχαρίστως 🙂

  4.   Άθιος dijo

    Πολύ καλό 😀

    Ένα μόνο πράγμα, στην εντολή perl λείπει το σύμβολο ^, οπότε δεν αλλάζει την άλλη έξοδο 0 που υπάρχει στα σχόλια:

    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

    αφορά

  5.   Ομάρ dijo

    Εξαιρετικά, έχω μια ερώτηση, πώς μπορώ να δημιουργήσω έναν χρήστη μόνο για ανάγνωση; Χρησιμοποιώ τη λειτουργία Centos 6.5, pureftpd, ispconfig και γραφικών.

    Χρησιμοποιώ το ispconfig μόνο για ftp

    χαιρετισμούς και ευχαριστίες

  6.   μουσώνας dijo

    Αυτός ο τρόπος εγκατάστασης του pureftp είναι ένα ASCO - αφήνετε την υπηρεσία να λειτουργεί ως root, να δημιουργήσετε έναν εικονικό χρήστη και, στη συνέχεια, να αλλάξετε τα δικαιώματα στο σύστημα αρχείων και ufff για μεγάλο χρονικό διάστημα κ.λπ. Ο τρόπος εγκατάστασης του πακέτου είναι έτοιμος για χρήση, δεν χρειάζεται να κάνετε όλα αυτά τα βήματα

    1.    Έλαβ dijo

      Σας προσκαλούμε να δημοσιεύσετε έναν λιγότερο "αηδιαστικό" οδηγό .. 😉

    2.    sedlav dijo

      Τι προτείνεις? Θέστε τον διακομιστή ftp για ακρόαση σε μια θύρα> 1024; Εάν ο διακομιστής ftp ακούει στη βασική του θύρα: 22, πρέπει να εκτελεστεί ως root, εκτός εάν τροποποιήσετε τις δυνατότητες του πυρήνα, αν αυτό που θέλετε είναι να βελτιώσετε την ασφάλεια χρησιμοποιήστε ένα πλαίσιο MAC με SELinux μια άλλη παραλλαγή θα ήταν να φυλακιστεί / chroot ο διακομιστής ftp .

  7.   Ll Tailor dijo

    Ο σύνδεσμος για το pure-ftpd.conf είναι κάτω ή δεν υπάρχει. Μπορείτε να το επαναφέρετε;
    Ευχαριστίες

  8.   συνημμένα dijo

    2 χρόνια αργότερα, ο σύνδεσμος προς το αρχείο pure-ftpd.conf παραμένει εκτός λειτουργίας 🙁