În anumite ocazii, este posibil ca un Administrator de Sisteme să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul la gestionarea propriilor fișiere prin sFTP, dar să nu se poată conecta la sistem folosind alte mijloace. Soluția introdusă în acest articol vă va arăta cum să îndepliniți această sarcină.
Cerințe preliminare
Pentru a obține experiență practică, trebuie să implementați o instanță a serverului Vultr CentOS 7 x64. Vă rugăm să rețineți că instrucțiunile pentru alte distribuții Linux pot fi diferite.
În plus, toate comenzile din acest articol sunt potrivite pentru root; ca atare, ai avea nevoie sudo privilegesdacă folosești un utilizator non-root.
Pasul 1: Creați un grup sFTP dedicat și un utilizator sFTP dedicat
groupadd sftpusers
useradd -g sftpusers -s /sbin/nologin user1
passwd user1
Aici, grupul sftpuserseste un grup sFTP dedicat, utilizatorul user1este un utilizator sFTP dedicat, care este interzis să se autentifice folosind SSH.
Pasul 2: Modificați configurația serviciului sshd
Deschideți fișierul de configurare al serviciului sshd:
vi /etc/ssh/sshd_config
Găsiți linia:
Subsystem sftp /usr/libexec/openssh/sftp-server
Înlocuiți-l cu:
Subsystem sftp internal-sftp
Adăugați următoarele linii la sfârșitul fișierului. Numele grupului sftpuserstrebuie să fie același cu cel specificat anterior.
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp
Salvează și închide:
:wq
Reporniți serviciul sshd pentru a pune în aplicare modificările.
systemctl restart sshd.service
Pasul 3: Creați un director dedicat doar pentru utilizatorul sFTP
Trebuie să specificați un director pentru utilizatorul exclusiv sFTP și să vă asigurați că acest utilizator poate juca doar în acest director:
chown -R root /home/user1
chmod -R 755 /home/user1
mkdir /home/user1/files
chown user1. /home/user1/files
Acum, utilizatorul user1poate încărca și / sau descărca fișiere doar în director /home/user1/files, el sau ea nu poate atinge niciodată fișierele altor utilizatori.
Pasul 4: Creați mai mulți utilizatori doar sFTP
Dacă aveți nevoie de mai mulți utilizatori doar sFTP, îi puteți crea în același mod:
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
Asta e. Fiecare cont de utilizator creat în acest mod va fi refuzat dacă îl utilizați pentru a vă autentifica în sistem. Aceste conturi de utilizator pot fi utilizate numai în programele sFTP.