Προς το περιεχόμενο

VSFTP server Απορίες σε Debian


Koultouras

Προτεινόμενες αναρτήσεις

-Καταρχήν πώς μπορώ να προσθέσω users.

Έχω βάλει τα εξής στο /etc/vsftpd.conf

anonymous_enable=NO

listen=YES

userlist_enable=YES

userlist_deny=YES

έφτιαξα και το /etc/vsftpd.user_list

και θέλω να βάλω σαν users τους 2 φυσικούς users του Ubuntu μου που είναι οι : server με pass server

και ο

test με pass test

Γράφω λοιπόν το εξής στο vsftpd.user_list

server:server:2000:501::/home/server

test:test:2000:501::/home/test

 

Αλλά δεν πιάνει.

 

Μετά σκέφτομαι να βγάλω τελείως τους users για να πάρει μόνο του τους φυσικούς.

 

Οπότε παώ και βάζω userlist_enable=NO

αλλά πάλι τίποτα.

 

-Μετά πώς γίνεται να βάλω ο κάθε user να βλέπει συγκεκριμένα directories του συστήματος και μόνο αυτά;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έχω βάλει τα εξής στο /etc/vsftpd.conf

anonymous_enable=NO

listen=YES

userlist_enable=YES

userlist_deny=YES

 

Η userlist_deny καθορίζει αν οι χρήστες που αναφέρεις στο αρχείο που ορίζεται στην userlist_file θα είναι αυτοί που θα τους επιτρέπεται ή θα τους απαγορεύεται η σύνδεση. Ο έλεγχος του userlist_file θα γίνει μόνο αν η userlist_enable έχει τιμή YES.

 

Είναι απλά μια πρόσθετη λειτουργία αν θέλεις να απαγορεύσεις την πρόσβαση σε ορισμένους από τους χρήστες που διαφορετικά θα μπορούσαν να μπουν' date=' τίποτε παραπάνω.

 

Τώρα σε ό,τι αφορά το πρόβλημα, υπάρχει ένα υποσύστημα που κατά πάσα πιθανότητα αναμιγνύεται, το PAM (Pluggable Authentication Module). Ο Vsftpd, αν έχει γίνει compile με υποστήριξη για PAM, δεν κοιτάζει να αυθεντικοποιήσει τους χρήστες από τη βάση χρηστών του συστήματος, αλλά ρωτάει το PAM. Το PAM μέσα από τα διάφορα modules του έχει τη δυνατότητα να κάνει πολλά και ωραία πράγματα, από το να αυθεντικοποιήσει χρήστες που βρίσκονται σε μία βάση LDAP ή MySQL, μέχρι και να κάνει κάποιες λειτουργίες αυτόματα μόλις κάποιος κάνει login.

 

Όπως γράφουν οι οδηγίες εγκατάστασης του vsftpd, θα πρέπει να υπάρχει το αρχείο /etc/pam/ftp το οποίο μέσα θα περιέχει οδηγίες προς το PAM για το πως θα αυθεντικοποιήσει τις εισερχόμενες αιτήσεις για αυθεντικοποίηση από ton vsftpd.

 

Step 6) Set up PAM for local logins (optional)

 

If you are running vsftpd on a PAM enabled machine, you will need to have a

/etc/pam.d/ftp file present, otherwise non-anonymous logins will fail.

For a standard setup, you can just copy a provided example file:

cp RedHat/vsftpd.pam /etc/pam.d/ftp

 

Οπότε υπάρχουν οι εξής επιλογές

 

1) Κάνεις compile τον vsftpd χωρίς υποστήριξη για PAM, αν δεν χρειάζεσαι τις πρόσθετες δυνατότητές του

 

2) Φτιάχνεις το /etc/pam.d/ftp σύμφωνα με τις ανάγκες σου. Θα χρειαστείς λίγο διάβασμα για να καταλάβεις τη λογική σύνταξης των αρχείων ρυθμίσεων του PAM, όμως με το documentation και με παράδειγμα τα διάφορα αρχεία ρυθμίσεων που πρέπει να υπάρχουν ήδη στο /etc/pam σου (ή και το sample του vsftpd) καλύπτεσαι. Επίσης δες εδώ για ένα παράδειγμα αυθεντικοποίσης του vsftpd από χωριστή βάση χρηστών.

 

 

Πέρα από το PAM, έλεγξε και κάποιες άλλες directives του configuration του vsftpd που δε χρησιμοποίησες, άλλες απαραίτητες, όπως ή local_enable, άλλες όχι και τόσο. Ένα παράδειγμα configuration που επιτρέπει μη ανώνυμες ακρυπτογράφητες συνδέσεις :

 

>dirmessage_enable=YES
local_umask=022
banner_file=/etc/vsftpd/vsftpd.banner
chown_uploads=NO
pasv_promiscuous=YES
chroot_local_user=YES
nopriv_user=nobody
secure_chroot_dir=/var/empty
connect_from_port_20=YES
listen_address=1.2.3.4
xferlog_enable=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=20
max_per_ip=5
listen=YES
ls_recurse_enable=NO
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
local_enable=YES
write_enable=YES

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

-Μετά πώς γίνεται να βάλω ο κάθε user να βλέπει συγκεκριμένα directories του συστήματος και μόνο αυτά;

 

Κατ' αρχήν υπάρχουν δύο βασικές συμπεριφορές, ελεγχόμενες με την chroot_local_user directive:

 

1) Ο κάθε χρήστης να "κλειδώνεται" στον home κατάλογό του, να τον εκλαμβάνει δηλαδή ως την ρίζα (/)

2) Ο κάθε χρήστης να εκλαμβάνει ως ρίζα την πραγματική ρίζα του συστήματος (το partition που είναι mounted στο /).

 

Το 2ο απόφυγέ το αν μπορείς.

 

Σε κάθε περίπτωση ισχύει το κλασσικό concept των unix permissions:

 

Κάθε αρχείο έχει:

α) έναν χρήστη-ιδιοκτήτη (user)

β) ένα group-ιδιοκτήτη (group)

γ) 3 διαφορετικά επίπεδα πρόσβασης για κάθε έναν από τους παραπάνω, καθώς και για όλους τους υπόλοιπους (others): ανάγνωση (r), εγγραφή (w), εκτέλεση (x). Μπορεί να ισχύει οποιοσδήποτε συνδιασμός των παραπάνω επιπέδων πρόσβασης.

 

Τα δικαιώματα μπορείς να δεις με "ls -l".

 

Υπάρχουν 2 τρόποι να περιγραφεί ο συνδιασμός δικαιωμάτων κάθε αρχείου, ο αριθμητικός και ο αναλυτικός.

 

- Ο αναλυτικός βάζει απλά τα αρχικα των δικαιωμάτων (w, r ή x) στη σειρά 3 φορές (μία για του ιδιοκτήτη, μία για του group και μια για των υπολοίπων). Αν δεν υπάρχει ένα δικαίωμα, μπαίνει "-" στη θέση του. Οπότε το

-rwx r-- --- 1 userowner groupowner 4248 2007-02-14 10:23 dyndee.sh
θα μπορεί μόνο να το διαβάσει, να το τροποποιήσει/σβήσει ή να το εκτελέσει ο ιδιοκτήτης του (ο userowner) και να το διαβάσουν οι χρήστες που ανήκουν στο group "groupowner".

 

- O αριθμητικός τρόπος περιγραφής βασίζεται στο εξής:

Κάθε επίπεδο πρόσβασης αντιπροσωπεύεται από μια αριθμητική τιμή (1 για εκτέλεση, 2 για εγγραφή, 4 για ανάγνωση). Το άθροισμα των τιμών των δικαιωμάτων που έχει το αρχείο είναι ένας αριθμός που περιγράφει τον συνδιασμό επιπέδων πρόσβασης (για κάθε έναν από τους User, Group, Others) με μοναδικό τρόπο. Οπότε για παράδειγμα τα δικαιώματα του αρχείου dyndee.sh θα αντιπροσωπεύονταν αριθμητικά ως "740".

 

 

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

 

chown, chgrp, chmod

 

Κάθε χρήστης έχει ένα default group, το οποίο θα μπαίνει αυτόματα ως group-ιδιοκτήτης σε ό,τι αρχεία φτιάχνει, αλλά μπορεί να είναι ταυτόχρονα μέλος σε άλλα groups. Με το να είναι μέλος σε άλλα groups, κληρονομεί τα επίπεδα πρόσβασης αυτών των groups, δηλαδή τα δικαιώματα του Group σε αρχεία που έχουν ως group-ιδιοκτήτη το συγκεκριμένο group. Το ποιοί χρήστες ανήκουν σε κάθε group ορίζεται στο /etc/group, ενώ το ποιο είναι το default group κάθε χρήστη ορίζεται (ως Group ID) στο /etc/passwd. Για ευκολία όμως μπορείς να χρησιμοποιήσεις τις παρακάτω εντολές για να προσθαφαιρέσεις ή αλλάξεις groups και χρήστες:

 

useradd, groupadd, usermod, gpasswd

 

Τέλος, κάθε αρχείο όταν δημιουργείται, παίρνει κάποια default δικαιώματα. Αυτά, σε επίπεδο συστήματος ορίζονται με την umask, όμως ο vsftpd έχει μια δική του directive για αρχεία που δημιουργούνται μέσω αυτού, την local_umask.

 

Πέρα από αυτό, ο vsftpd έχει την deny_file directive, με την οποία μπορείς να ορίσεις αρχεία και καταλόγους με συγκεκριμένους χαρακτήρες στο όνομά τους να μη μπορούν να προσπελασθούν. Μπορείς επίσης να ορίσεις διαφορετικά αρχεία ρυθμίσεων για κάθε χρήστη, όπως περιγράφεται εδώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

koultoura sorry που δε μπορώ να σε βοηθήσω.

Έχω κάνει και 'γω έναν ftp server με VSftp αλλά δε ξέρω πολλά για το πρωτόκολλο αυτό ούτε το έχω πολυψάξει.

Ο server δουλεύει μια χαρά αλλα μόνο σε μένα δηλαδή δε ξέρω να τον κάνω public στο internet, έχω κάνει κ έναν web server με apache2 ( για τη βιτρίνα του ftp ) αλλά ούτε αυτό μπορώ να το κάνω public δηλαδή να φαίνεται απο το internet.

Για να βλέπω τη κίνηση στον server έχω το gFT όπου και κάνει connect κανονικά.

H ip που δίνω απο internet για να μπω στον server την βρίσκω με αυτην την εντολή ip -r route αλλά μάλλον είναι λάθος. Λογικά ο isp θα μου έχει αποδώσει μια διεύθυνση ip αλλά πως τη βρίσκω;;

1)ρύθμισα το vsftp.conf. έκανα το vsftp να ανοίγει αυτόματα με τα runlevel 3 ,5.

2) άνοιξα τις πόρτες 20, 21 απο το firewall.

3) άνοιξα τις πόρτες 20, 21 του dsl router μου αλλά μέσα απο windows xp

Αυτά έκανα, μήπως ξέχασα κάτι;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...