![Cele mai bune 7 aplicații de chat anonime pentru Android](/f/85bf1f74a6ee0cb1c96f5fec8443349c.png?width=100&height=100)
În acest tutorial, vom discuta despre cum să restricționăm SFTP utilizatorii către directoarele lor de acasă sau directoare specifice. Înseamnă că utilizatorul poate accesa doar directorul de acasă respectiv, nu întregul sistem de fișiere.
Restricționarea directoarelor de domiciliu ale utilizatorilor este vitală, în special într-un mediu de server partajat, astfel încât un utilizator neautorizat să nu se strecoare în fișierele și folderele celuilalt utilizator.
Important: Vă rugăm să rețineți, de asemenea, că scopul acestui articol este de a oferi doar acces SFTP, nu conectări SSH, de către după acest articol, veți avea permisiunile pentru a efectua transferul de fișiere, dar nu aveți voie să faceți un SSH la distanță sesiune.
Citire sugerată:Restricționați accesul utilizatorului SSH la anumite directoare folosind închisoarea Chrooted
Cel mai simplu mod de a face acest lucru este să creați un mediu de închisoare chrootat pentru accesul SFTP. Această metodă este aceeași pentru toate sistemele de operare Unix / Linux. Folosind mediul chrooted, putem restricționa utilizatorii fie la directorul lor de acasă, fie la un anumit director.
În această secțiune, vom crea un nou grup numit sftpgroup și atribuiți drepturi de proprietate și permisiuni corecte conturilor de utilizator. Există două opțiuni pentru a restricționa utilizatorii la directoare de acasă sau specifice, vom vedea ambele sensuri în acest articol.
Să restricționăm, de exemplu, utilizatorul existent tecmint
, în directorul său de acasă numit /home/tecmint
. Pentru aceasta, trebuie să creați un nou sftpgroup grup folosind groupadd comanda așa cum se arată:
# groupadd sftpgroup.
Apoi, atribuiți utilizatorul „Tecmint” la sftpgroup grup.
# usermod -G sftpgroup tecmint.
De asemenea, puteți crea un utilizator nou folosind comanda useradd, de exemplu senthil
și atribuiți utilizatorul către sftpusers grup.
# adduser senthil -g sftpgroup -s / sbin / nologin. # passwd tecmint.
Deschideți și adăugați următoarele rânduri la /etc/ssh/sshd_config
Fișier de configurare.
Subsistem sftp internal-sftp Match Group sftpgroup ChrootDirectory / home ForceCommand internal-sftp X11 Forwarding no AllowTcpForwarding no.
Salvați și ieșiți din fișier, reporniți serviciul sshd pentru a aplica noi modificări.
# systemctl reporniți sshd. SAU. # service sshd reporniți.
Dacă chroot mai mulți utilizatori în același director, ar trebui să modificați permisiunile fiecăruia directorul de acasă al utilizatorului pentru a împiedica toți utilizatorii să navigheze în directorii de acasă unul de celălalt utilizatori.
# chmod 700 / home / tecmint.
Acum, este timpul să verificați datele de conectare dintr-un sistem local. Încercați să selectați sistemul de la distanță din sistemul local.
# ssh [e-mail protejat]
Aici,
[e-mail protejat]Parola: Nu s-a putut direcționa către directorul de start / home / tecmint: Nu există un astfel de fișier sau director. Acest serviciu permite numai conexiuni sftp. Conexiune la 192.168.1.150 închisă.
Apoi, accesați sistemul la distanță folosind SFTP.
# sftp [e-mail protejat]
[e-mail protejat]Parola: Conectat la 192.168.1.150. sftp>
Să verificăm directorul de lucru curent:
sftp & gt pwd Director de lucru la distanță: / sftp & gt ls tecmint
Aici, tecmint
este directorul de start. Cd la tecmint director și creați fișierele sau folderele la alegere.
sftp & gt cd tecmint Director de lucru la distanță: / sftp & gt mkdir test tecmint
În exemplul nostru anterior, restricționăm utilizatorii existenți la directorul principal. Acum, vom vedea cum să restricționăm un utilizator nou la un director personalizat.
Creați un grup nou sftpgroup
.
# groupadd sftpgroup.
Apoi, creați un director pentru grupul SFTP și atribuiți permisiuni utilizatorului root.
# mkdir -p / sftpusers / chroot. # rădăcină chown: root / sftpusers / chroot /
Apoi, creați directoare noi pentru fiecare utilizator, la care vor avea acces complet. De exemplu, vom crea tecmint
utilizator și este noul director de start cu permisiunea corectă de grup utilizând următoarele serii de comenzi.
# adduser tecmint -g sftpgroup -s / sbin / nologin. # passwd tecmint. # mkdir / sftpusers / chroot / tecmint. # chown tecmint: sftpgroup / sftpusers / chroot / tecmint / # chmod 700 / sftpusers / chroot / tecmint /
Modificați sau adăugați următoarele rânduri la sfârșitul fișierului:
#Subsystem sftp / usr / libexec / openssh / sftp-server. Subsistem sftp internal-sftp Match Group sftpgroup ChrootDirectory / sftpusers / chroot / ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no.
Salvați și ieșiți din fișier. Reporniți serviciul sshd pentru a produce modificările salvate.
# systemctl reporniți sshd. SAU. # service sshd reporniți.
Gata, puteți verifica conectându-vă la serverul dvs. SSH și SFTP de la distanță utilizând pasul furnizat mai sus la Verificați datele de conectare SSH și SFTP.
Rețineți că această metodă va dezactiva accesul la shell, adică nu puteți accesa sesiunea de shell a sistemului la distanță folosind SSH. Puteți accesa sistemele la distanță numai prin SFTP și puteți efectua transferul de fișiere către și de la sistemele locale și la distanță.
Acum știi cum să restricționezi directoarele de acasă ale utilizatorilor folosind un mediu Chroot în Linux. Dacă vi se pare util acest lucru, împărtășiți acest articol pe rețelele dvs. sociale și anunțați-ne în secțiunea de comentarii de mai jos dacă există alte metode de restricționare a directoarelor de acasă ale utilizatorilor.