Δημιουργία FTP Server με το vsftpd

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό Phantomas » 17 Δεκ 2008, 12:41

Εικόνα

Δημιουργία FTP Server με το vsftpd

Θέλετε έναν γρήγορο τρόπο να μοιράζετε τα αρχεία σας στους φίλους σας;
Θέλετε όπου και αν πάτε, να μπορείτε να βρείτε τα τραγούδια, τις εικόνες, τα βίντεο σας, κλπ;

(Δεν είπα για εταιρικά και σημαντικά αρχεία... για να μην φάω και κράξιμο... αν θέλετε να μεταφέρετε σημαντικά αρχεία, καλύτερα να πάτε σε μια πιο ασφαλή λύση που είναι το SecureSHell.)

Τέσ/πά.. αν θέλετε ντε και καλά FTP Server φτιάξτε τον να τελειώνουμε

Πώς;
Έτσι:

Εγκατάσταση του VerySecureFileTransferProtocolDaemon (με λίγα λόγια: vsftpd)


Για αρχή πρέπει να εγκαταστήσουμε αυτόν τον δαίμονα... που κάνει την "βρωμo-δουλειά"...
Ανοίγουμε ένα τερματικό (Εφαρμογές > Βοηθήματα > Τερματικό) και γράφουμε:

Κώδικας: Επιλογή όλων
sudo apt-get install vsftpd


Αφού η εγκατάσταση τελειώσει, πάμε παρακάτω..


Βασικές εντολές του vsftpd

Απλά τα πράματα...

Για εκκίνηση
Κώδικας: Επιλογή όλων
sudo /etc/init.d/vsftpd start


Για τερματισμό
Κώδικας: Επιλογή όλων
sudo /etc/init.d/vsftpd stop


Για επανεκκίνηση
Κώδικας: Επιλογή όλων
sudo /etc/init.d/vsftpd restart




Τροποποίηση του αρχείου ρυθμίσεων του δαίμονα

Το vsftpd σαν καλός δαίμονας που είναι έχει και configuration file, δηλαδή αρχείο ρυθμίσεων στο οποίο γράφονται διάφορες ρυθμίσεις που ορίζουν τον τρόπο λειτουργίας του εξυπηρετητή

Ε κι εγώ σαν καλό παιδί που είμαι θα πω δυο, άντε, τρία πράγματα γι αυτό

Καταρχήν.. θα κάνουμε ένα πίσωπάνω (backup) στο αρχείο αυτό γιατί μετά θα του αλλάξουμε τα φώτα... Αυτό το κάνουμε με την εντολή
Κώδικας: Επιλογή όλων
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old


Για να ανοίξουμε επιτέλους αυτό το αρχείο με τις ρυθμίσεις που ακούει στο όνομα vsftpd.conf πρέπει να δώσουμε την παρακάτω εντολή στο τερματικό

Κώδικας: Επιλογή όλων
sudo gedit /etc/vsftpd.conf


ε και απ' ότι είδατε, ανοίγει το gedit και γράφει κάτι βλακείες...
και μιας και είναι βλακείες δεν τα σβήνουμε; Άντε μπράβο...

Αφού τα σβήσουμε ξαναγράφουμε περίπου τα ίδια... αλλά αυτήν τη φορά όπως εμείς γουστάρουμε....
λοιπόν θα αναλύσουμε κάποιες βασικές εντολές που πρέπει να γράψουμε, για να ξέρουμε τι μας γίνεται!

listen => Ορίζει αν το vsftpd θα τρέχει ανεξάρτητο..... ή κάτι τέτοιο.. :P
max_clients => Ορίζει πόσοι χρήστες μπορούν να συνδεθούν ταυτόχρονα στον εξυπηρετητή
max_per_ip => Oρίζει πόσες συνδέσεις μπορεί να κάνει κάθε χρήστης στον εξυπηρετητή
ftpd_banner => Ορίζει ένα μύνημα που θα εμφανίζεται στον χρήστη όταν συνδέεται στον εξυπηρετητή
anonymous_enable => Ορίζει αν ο εξυπηρετητής θα δέχεται συνδέσεις από ανώνυμους χρήστες (στην ουσία οποιονδήποτε)
anon_root => Ορίζει τον κατάλογο τον οποίο θα βλέπει ο ανώνυμος χρήστης κατά την σύνδεση του (μπορεί να πάει μόνο σε υποκαταλόγους)
local_enable => Ορίζει αν επιτρέπεται να συνδεθεί κάποιος χρήστης που υπάρχει στον υπολογιστή
write_enable => Ορίζει αν θα επιτρέπεται οποιασδήποτε μορφής εγγραφή στον εξυπηρετητή (upload)
anon_upload_enable => Ορίζει αν θα επιτρέπεται το uploading αρχείων από ανώνυμους χρήστες
ls_recurse_enable => Ορίζει αν θα επιτρέπεται η εκτέλεση της εντολής ls -r για προβολή όλων των αρχείων που βρίσκονται σε έναν φάκελο (χαλάει πόρους)
tcp_wrappers => Ορίζει αν οι συνδέσεις θα περνάνε από ένα αρχείο το οποίο “αποφασίζει” αν επιτρέπεται να ή να μην πραγματοποιηθεί η σύνδεση
log_ftp_protocol => Ορίζει αν θα καταγράφονται οι συνδέσεις και οι εντολές που έχουν πραγματοποιηθεί σε ένα ξεχωριστό αρχείο
idle_session_timeout => Ορίζει το χρονικό διάστημα κατά το οποίο ένας χρήστης μπορεί να είναι συνδεδεμένος σε κατάσταση idle, δηλαδή ανενεργός
hide_ids => Εμφανίζει σαν ftp το group και τον user ενός φακέλου/αρχείου

Για περισσότερες εντολές και πληροφορίες για αυτές, γράψτε στο τερματικό man vsftpd.conf ή ρωτήστε εδώ.. για να σας πούμε

Αν θέλετε έναν anonymous only server το παρακάτω configuration με λίγες τροποποιήσεις (διαφορετικές για κάθε χρήστη) είναι καλό νομίζω...

listen=YES
max_clients=4
max_per_ip=1
ftpd_banner=Welcome to my FTP service.
anonymous_enable=YES
anon_root=/home/ftp/files/
local_enable=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
hide_ids=YES
ls_recurse_enable=NO
tcp_wrappers=YES
log_ftp_protocol=YES
dual_log_enable=YES
xferlog_enable=YES
idle_session_timeout=60
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
dirmessage_enable=YES

Αν θέλετε έναν server που θα μπαίνετε εσείς σαν κανονικός χρήστης του υπολογιστή, πηγαίνετε σε ssh καλύτερα... Το ftp δεν κρυπτογραφεί τα δεδομένα ούτε τους κωδικούς...αντίθετα με το ssh, έτσι μπορείτε να την πάθετε απο 'κει που δεν το περιμένατε!


Port Forwarding

Για να δουλέψει ο εξυπηρετητής σας σωστά, πρέπει να ανοίξετε μια πόρτα του router σας έτσι ώστε να μπορούν να εισέρχονται οι συνδέσεις..
Η πόρτα που χρησιμοποιεί το FileTransferProtocol είναι η 21. Επομένως πρέπει να ανοίξετε την πόρτα 21 στο router σας.

- Πώς;
- Έτσι: http://www.portforward.com/english/appl ... Pindex.htm

Επιλέξτε το router σας από το παραπάνω site και έχει αναλυτικές οδηγίες για το πώς γίνεται το port forwarding..


Καταγραφές & Αποκλεισμός διευθύνσεων IP

Αν έχετε ορίσει το log_ftp_protocol=YES στο /etc/vsftpd.conf, τότε όλες οι προσπάθειες για σύνδεση ή για κατέβασμα αρχείων καταγράφονται

- Που;
- Εκεί: /var/log/vsftpd.log

Άν έχετε ορίσει και το xferlog_enable=YES , τότε φτιάχνεται ένα ξεχωριστό, πιο μικρό αρχείο που καταγράφει μόνο τις μεταφορές που έχουν πραγματοποιηθεί.

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

Μπορείτε να τις προβάλλετε με την εντολή

Κώδικας: Επιλογή όλων
sudo gedit /var/log/vsftpd.log


και

Κώδικας: Επιλογή όλων
sudo gedit /var/log/xferlog


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


Καταρχήν η διεύθυνση φαίνεται στην καταγραφή

π.χ. FTP command: Client "xx.xxx.xx.xxx"
(όπου xx η διεύθυνση IP)

Αν έχετε ορίσει το tcp_wrapping=YES στο /etc/vsftpd.conf τότε μπορείτε να αποκλείσετε μια διεύθυνση γράφοντας την στο αρχείο /etc/hosts.deny με ένα vsftpd: μπροστά

π.χ. vsftpd: xxx.xxx.xxx.xxx

Αν αντί για vsftpd: γράψετε ALL: τότε η διεύθηνση αυτή όχι απλά δεν θα μπορεί να επικοινωνεί πλέον με το vsftpd αλλά με όλο το σύστημα

Κώδικας: Επιλογή όλων
sudo gedit /etc/hosts.deny



Από την στιγμή που την γράψετε εκεί, δεν θα την ξαναδείτε στις καταγραφές του vsftpd λόγω του οτι την έχετε αποκλείσει από το να επικοινωνεί με τον εξυπηρετητή

Δυναμικές διευθύνσεις σε στατικό hostname

Όπως ίσως καταλάβατε ή ξέρατε, οι υπολογιστές επικοινωνούν μεταξύ τους μέσω των διευθύνσεων IP. Έτσι για να επικοινωνήσει κάποιος με τον εξυπηρετητή FTP που μόλις στήσαμε, πρέπει να γράψει στον browser του τη διεύθυνση IP σας. Αυτό είναι πρόβλημα όταν εμείς έχουμε δυναμική IP, δηλαδή IP που αλλάζει ανά τακτά χρονικά διαστήματα από τον πάροχο μας, γιατί όπως καταλαβαίνετε, αν έχετε πει σε έναν φίλο σας πως η διεύθυνση σας είναι λ.χ. 123.456.789.012 και αυτή τύχει την επόμενη μέρα και αλλάξει σε 012.345.67.89 ενώ ο εξυπηρετητής σας θα λειτουργεί κανονικά, ο φίλος σας θα προσπαθεί να συνδεθεί σε άλλον υπολογιστή που θα έχει εκείνη την ώρα την παλιά σας IP.

Τι κάνουμε λοιπόν;

Πάμε στο http://www.DynDNS.org και φτιάχνουμε λογαριασμό... και έπειτα hostname όπως μας λέει εκεί... Άν το router σας υποστηρίζει αυτήν την υπηρεσία, δηλώνετε και σε αυτό.. το hostname που διαλέξατε, και πλέον οι φίλοι σας θα συνδέονται γράφοντας αυτό αντί για την IP, το οποίο όμως στην ουσία μεταφράζεται στην δική σας IP..

Δείτε κι εδώ viewtopic.php?f=9&t=2036&st=0&sk=t&sd=a#p19503 που αναλύεται καλύτερα ο τρόπος.



Ε πάνω κάτω αυτά....

Ότι λάθος παρατηρήσατε, ή οποιοδήποτε πρόβλημα ή απορία έχετε, αφήστε post οπωσδήποτε

Εικόνα Copyleft 2008 Phantomas. All wrongs reserved.
Άβαταρ μέλους
Phantomas
punkTUX
punkTUX
 
Δημοσιεύσεις: 156
Εγγραφή: 28 Ιούλ 2008, 15:57
IRC: Phantomas
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό ftso » 17 Δεκ 2008, 13:43

Μπράβο σου... :D
Αν έκανες και μια αναφορά για την δημιουργία χρηστών με διαφορετικά δικαιώματα θα ήταν τέλειος ο οδηγός.
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό ilpara » 19 Δεκ 2008, 11:36

Συγχαρητήρια και από εμένα :!:
Έχεις εξελιχθεί σε πολύ guru, φαντάσου σε λίγα χρονάκια που θα μεγαλώσεις κιόλας... :D
Μάλιστα μου άρεσε το ιδιαίτερο ύφος/στυλ γραφής σου ;)
Μπράβο και πάλι!
*Oδηγίες προς Nεοεισερχόμενους*ΟδηγοίLive chat (IRC)
⇛ Linux: Μέτριο ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
⇛ Ubuntu 12.04 32bit
⇛ Dell M4300: T7500 (2.2GHZ 4MB) ┃ 2GB ┃ NVIDIA Quadro FX 360M (256MB) ┃ Intel 4965 ┃ 15.4" WUXGA
Άβαταρ μέλους
ilpara
powerTUX
powerTUX
 
Δημοσιεύσεις: 2250
Εγγραφή: 11 Μάιος 2008, 11:43
Τοποθεσία: Αθήνα-Βύρωνας
IRC: ilpara
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό simosx » 19 Δεκ 2008, 14:55

Μπράβο!
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό Phantomas » 21 Δεκ 2008, 03:05

Ευχαριστώ για τα καλά σας λόγια παιδιά!

ftso, εννοείς να δείξω πώς να κάνουν login χρήστες που υπάρχουν στον server και έχουν διαφορετικά δικαιώματα; Ή προτείνεις να αναφέρω και τον τρόπο δημιουργίας χρηστών και το πώς θα δώσουμε διαφορετικά δικαιώματα σε κάθε έναν; :?:
Άβαταρ μέλους
Phantomas
punkTUX
punkTUX
 
Δημοσιεύσεις: 156
Εγγραφή: 28 Ιούλ 2008, 15:57
IRC: Phantomas
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό linuxman » 21 Δεκ 2008, 03:59

Phantomas έγραψε:Ευχαριστώ για τα καλά σας λόγια παιδιά!

ftso, εννοείς να δείξω πώς να κάνουν login χρήστες που υπάρχουν στον server και έχουν διαφορετικά δικαιώματα; Ή προτείνεις να αναφέρω και τον τρόπο δημιουργίας χρηστών και το πώς θα δώσουμε διαφορετικά δικαιώματα σε κάθε έναν; :?:

Το δεύτερο καλύτερα , επίσης μπορείς να προσθέσεις και την χρήση του http://www.dyndns.com/
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό ftso » 21 Δεκ 2008, 14:08

Phantomas έγραψε:Ευχαριστώ για τα καλά σας λόγια παιδιά!

ftso, εννοείς να δείξω πώς να κάνουν login χρήστες που υπάρχουν στον server και έχουν διαφορετικά δικαιώματα; Ή προτείνεις να αναφέρω και τον τρόπο δημιουργίας χρηστών και το πώς θα δώσουμε διαφορετικά δικαιώματα σε κάθε έναν; :?:


Και τα δυο :D
Τώρα, το DynDNS εφόσον υπάρχει σε άλλο οδηγό δεν χρειάζεται...
Άβαταρ μέλους
ftso
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 6409
Εγγραφή: 12 Μάιος 2008, 13:40
Τοποθεσία: Αθήνα
IRC: ftso
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό enzo » 13 Ιαν 2009, 16:22

πολυ ωραιος οδηγος!
ακολουθησα ολα τα βηματα χωρις προβλημα αλλα οταν προσπαθω να συνδεθω απο τον αλλο υπολογιστη μου μου ζηταει username kai password. δν καταλαβαινω που τα εχω ορισει... :S
με κενα δν μπαινει
με anonymous και τον κωδικο του remote desktop παλι δν μπαινει
plzzzzzzz help! ευχαριστω

εντιτ: ειδα το log με τις αποπειρες συνδεσεις απο το αλλο pc και τις εχει κρατησει κανονικα. επισης δοκιμασα να κανω remote desktop απο τα windows αλλα παλι δν συνδεθηκε...
enzo
babeTUX
babeTUX
 
Δημοσιεύσεις: 7
Εγγραφή: 13 Ιαν 2009, 16:19
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό Phantomas » 13 Ιαν 2009, 22:11

Γράψε στο τερματικό:
Κώδικας: Επιλογή όλων
sudo gedit /etc/vsftpd.conf
και πες μας σε ποια τιμή είναι ορισμένη η επιλογή anonymous_enable. Για να μπορείς να συνδεθείς σαν ανώνυμος, πρέπει να είναι σε YES δηλ. :arrow: anonymous_enable=YES
Άβαταρ μέλους
Phantomas
punkTUX
punkTUX
 
Δημοσιεύσεις: 156
Εγγραφή: 28 Ιούλ 2008, 15:57
IRC: Phantomas
Εκτύπωση

Re: Δημιουργία FTP Server με το vsftpd

Δημοσίευσηαπό enzo » 13 Ιαν 2009, 22:49

ναι ειναι στο yes πηρα το δικο σου configuration....
δοκιμαστε και σεις
ftp://alepos.mine.nu
enzo
babeTUX
babeTUX
 
Δημοσιεύσεις: 7
Εγγραφή: 13 Ιαν 2009, 16:19
Εκτύπωση

Επόμενο

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Οδηγοί - How to - Tutorials