Προαπαιτούμενα
Βήμα 1: Δημιουργήστε μια αποκλειστική ομάδα sFTP και έναν αποκλειστικό χρήστη sFTP
Βήμα 2: Τροποποιήστε τη διαμόρφωση της υπηρεσίας sshd
Βήμα 3: Δημιουργήστε έναν αποκλειστικό κατάλογο για τον χρήστη μόνο sFTP
Βήμα 4: Δημιουργήστε περισσότερους χρήστες μόνο sFTP
Σε ορισμένες περιπτώσεις, ένας Διαχειριστής Συστημάτων μπορεί να χρειαστεί να δημιουργήσει έναν λογαριασμό χρήστη και να περιορίσει την πρόσβασή του για να διαχειρίζεται μόνο τα δικά του αρχεία μέσω sFTP, αλλά να μην μπορεί να συνδεθεί στο σύστημα χρησιμοποιώντας οποιοδήποτε άλλο μέσο. Η λύση που παρουσιάζεται σε αυτό το άρθρο θα σας δείξει πώς να ολοκληρώσετε αυτήν την εργασία.
Προαπαιτούμενα
Για να αποκτήσετε πρακτική εμπειρία, πρέπει να αναπτύξετε μια παρουσία διακομιστή Vultr CentOS 7 x64. Λάβετε υπόψη ότι οι οδηγίες για άλλες διανομές Linux μπορεί να είναι διαφορετικές.
Επιπλέον, όλες οι εντολές σε αυτό το άρθρο είναι κατάλληλες για το root; Ως εκ τούτου, θα χρειαστείτε sudo privilegesεάν χρησιμοποιείτε χρήστη χωρίς root.
Βήμα 1: Δημιουργήστε μια αποκλειστική ομάδα sFTP και έναν αποκλειστικό χρήστη sFTP
groupadd sftpusers
useradd -g sftpusers -s /sbin/nologin user1
passwd user1
Εδώ, η ομάδα sftpusersείναι μια αποκλειστική ομάδα sFTP, ο χρήστης user1είναι ένας αποκλειστικός χρήστης sFTP που απαγορεύεται να συνδεθεί χρησιμοποιώντας SSH.
Βήμα 2: Τροποποιήστε τη διαμόρφωση της υπηρεσίας sshd
Ανοίξτε το αρχείο διαμόρφωσης της υπηρεσίας sshd:
vi /etc/ssh/sshd_config
Βρείτε τη γραμμή:
Subsystem sftp /usr/libexec/openssh/sftp-server
Αντικαταστήστε το με:
Subsystem sftp internal-sftp
Προσθέστε τις ακόλουθες γραμμές στο τέλος του αρχείου. Το όνομα της ομάδας sftpusersπρέπει να είναι το ίδιο με αυτό που καθορίσατε νωρίτερα.
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
Αποθήκευση και έξοδος:
:wq
Επανεκκινήστε την υπηρεσία sshd για να τεθούν σε ισχύ οι αλλαγές σας.
systemctl restart sshd.service
Βήμα 3: Δημιουργήστε έναν αποκλειστικό κατάλογο για τον χρήστη μόνο sFTP
Πρέπει να καθορίσετε έναν κατάλογο για τον χρήστη μόνο sFTP και να βεβαιωθείτε ότι αυτός ο χρήστης μπορεί να παίξει μόνο σε αυτόν τον κατάλογο:
chown -R root /home/user1
chmod -R 755 /home/user1
mkdir /home/user1/files
chown user1. /home/user1/files
Τώρα, ο χρήστης user1μπορεί να ανεβάσει και/ή να κατεβάσει μόνο αρχεία στον κατάλογο /home/user1/files, δεν μπορεί ποτέ να αγγίξει τα αρχεία άλλων χρηστών.
Βήμα 4: Δημιουργήστε περισσότερους χρήστες μόνο sFTP
Εάν χρειάζεστε περισσότερους χρήστες μόνο sFTP, μπορείτε να τους δημιουργήσετε με τον ίδιο τρόπο:
useradd -g sftpusers -s /sbin/nologin user2
passwd user2
chown -R root /home/user2
chmod -R 755 /home/user2
mkdir /home/user2/files
chown user2. /home/user2/files
Αυτό είναι. Κάθε λογαριασμός χρήστη που δημιουργείται με αυτόν τον τρόπο θα απορριφθεί εάν τον χρησιμοποιήσετε για να συνδεθείτε στο σύστημα. Αυτοί οι λογαριασμοί χρηστών μπορούν να χρησιμοποιηθούν μόνο σε προγράμματα sFTP.