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

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

Σε αυτήν την περίπτωση, επέλεξα μια υπηρεσία FTP με εικονικούς χρήστες, χρήστες που θα αποθηκεύονται σε ένα κρυπτογραφημένο αρχείο (όνομα χρήστη, κωδικός πρόσβασης, ρυθμίσεις κ.λπ.), όλα με Pure 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

…ναι ναι… όπως διαβάζετε, “facilitate”, είναι μια εκτενής εντολή ναι, αλλά απλώς αντικαθιστά το κείμενο με perl και μια αβλαβή ηχώ 

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

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

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

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

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

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

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

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

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


Προσθήκη ως προτιμώμενης πηγής στην Google