SFTP ulanyjylaryny gysga türmeden peýdalanyp, öý kataloglaryna nädip çäklendirmeli


Bu gollanmada, SFTP ulanyjylaryny öý kataloglaryna ýa-da belli bir kataloglaryna nädip çäklendirmelidigini ara alyp maslahatlaşarys. Bu, ulanyjynyň tutuş faýl ulgamyna däl-de, diňe öz öý bukjasyna girip biljekdigini aňladýar.

Ulanyjylaryň öý kataloglaryny çäklendirmek, esasanam umumy serwer gurşawynda, birugsat ulanyjynyň beýleki ulanyjynyň faýllaryna we bukjalaryna girip bilmezligi üçin möhümdir.

Üns beriň: Bu makalanyň maksadynyň diňe SSH girişleri däl-de, diňe SFTP girişini üpjün etmekdigini ýadyňyzdan çykarmaň, bu makala eýerip faýl geçirmek üçin rugsatlar bolar, ýöne uzakdaky SSH sessiýasyna rugsat berilmez.

Muny etmegiň iň ýönekeý usuly, SFTP-e girmek üçin berk türme gurşawyny döretmekdir. Bu usul ähli Unix/Linux operasiýa ulgamlary üçin deňdir. Çekilen gurşawy ulanyp, ulanyjylary öý bukjasyna ýa-da belli bir kataloga çäklendirip bileris.

Ulanyjylary öý kataloglary bilen çäklendiriň

Bu bölümde sftpgroup atly täze topar dörederis we ulanyjy hasaplaryna dogry eýeçilik we rugsatlar bereris. Ulanyjylary öý ýa-da ýörite kataloglar bilen çäklendirmek üçin iki saýlaw bar, bu makalada iki tarapyny hem göreris.

Bar bolan ulanyjyny, mysal üçin tecmint , /home/tecmint atly öý katalogy bilen çäklendireliň. Munuň üçin groupadd buýrugyny ulanyp, täze sftpgroup topary döretmeli:

# groupadd sftpgroup

Ondan soň, sftpgroup toparyna ulanyjyny “tecmint” belläň.

# usermod -G sftpgroup tecmint

Şeýle hem, useradd buýrugyny ulanyp, täze ulanyjy döredip bilersiňiz, mysal üçin senthil we ulanyjyny sftpusers toparyna belläp bilersiňiz.

# adduser senthil -g sftpgroup -s /sbin/nologin
# passwd tecmint

Aşakdaky setirleri açyň we /etc/ssh/sshd_config konfigurasiýa faýlyna goşuň.

Subsystem sftp internal-sftp
 
   Match Group sftpgroup
   ChrootDirectory /home
   ForceCommand internal-sftp
   X11Forwarding no
   AllowTcpForwarding no

Faýly ýazdyryň we çykyň, täze üýtgeşmeleriň güýje girmegi üçin sshd hyzmatyny täzeden açyň.

# systemctl restart sshd
OR
# service sshd restart

Birnäçe ulanyjyny şol bir kataloga bölseňiz, ähli ulanyjylaryň biri-biriniň ulanyjylarynyň öý kataloglaryna göz aýlamagynyň öňüni almak üçin her ulanyjynyň öý katalogynyň rugsatlaryny üýtgetmeli.

# chmod 700 /home/tecmint

Indi, ýerli ulgamdan girişi barlamagyň wagty geldi. Remoteerli ulgamyňyzdan uzakdaky ulgamyňyzy sshmäge synanyşyň.

# ssh [email 

Ine,

  1. tecmint - uzakdaky ulgamyň ulanyjy ady.
  2. 192.168.1.150 - Uzakdaky ulgamyň IP adresi.

[email 's password: 
Could not chdir to home directory /home/tecmint: No such file or directory
This service allows sftp connections only.
Connection to 192.168.1.150 closed.

Soňra, SFTP ulanyp, uzakdaky ulgama giriň.

# sftp [email 
[email 's password: 
Connected to 192.168.1.150.
sftp>

Häzirki işleýän katalogy barlap göreliň:

sftp&gt pwd
Remote working directory: /

sftp&gt ls
tecmint  

Bu ýerde tecmint baş katalogdyr. Cd tecmint katalogyna giriň we islän faýllaryňyzy ýa-da bukjalaryňyzy dörediň.

sftp&gt cd tecmint
Remote working directory: /

sftp&gt mkdir test
tecmint  

Ulanyjylary belli bir katalog bilen çäklendiriň

Öňki mysalymyzda, bar bolan ulanyjylary öý katalogy bilen çäklendirýäris. Indi, täze ulanyjyny adaty katalog bilen nädip çäklendirip boljakdygyny göreris.

Täze sftpgroup dörediň.

# groupadd sftpgroup

Ondan soň, SFTP topary üçin katalog dörediň we kök ulanyjy üçin rugsat beriň.

# mkdir -p /sftpusers/chroot
# chown root:root /sftpusers/chroot/

Ondan soň, her bir ulanyjy üçin doly elýeterli boljak täze kataloglary dörediň. Mysal üçin, tecmint ulanyjysyny dörederis we aşakdaky buýruklary ulanyp, dogry topar rugsady bilen täze öý katalogy.

# adduser tecmint -g sftpgroup -s /sbin/nologin
# passwd tecmint
# mkdir /sftpusers/chroot/tecmint
# chown tecmint:sftpgroup /sftpusers/chroot/tecmint/
# chmod 700 /sftpusers/chroot/tecmint/

Faýlyň soňundaky aşakdaky setirleri üýtgediň ýa-da goşuň:

#Subsystem  	sftp	/usr/libexec/openssh/sftp-server
Subsystem sftp  internal-sftp
 
Match Group sftpgroup
   ChrootDirectory /sftpusers/chroot/
   ForceCommand internal-sftp
   X11Forwarding no
   AllowTcpForwarding no

Faýly ýazdyryň we çykyň. Saklanan üýtgeşmeleri güýje girizmek üçin sshd hyzmatyny täzeden açyň.

# systemctl restart sshd
OR
# service sshd restart

Munuň özi, uzakdaky SSH we SFTP serwerine girip, SSH we SFTP girişinde ýokarda görkezilen ädimi ulanyp barlap bilersiňiz.

Bu usulyň gabygyň girişini öçürjekdigini ýadyňyzdan çykarmaň, ýagny SSH ulanyp uzakdaky ulgamyň gabyk sessiýasyna girip bilmersiňiz. Diňe SFTP arkaly uzakdaky ulgamlara girip bilersiňiz we ýerli we uzak ulgamlara faýl geçirip bilersiňiz.

Netije

Indi Linux-da Chroot gurşawyny ulanyp, ulanyjylaryň öý kataloglaryny nädip çäklendirmelidigini bilýärsiňiz. Bu peýdaly diýip hasaplasaňyz, bu makalany sosial ulgamlaryňyzda paýlaşyň we ulanyjylaryň öý kataloglaryny çäklendirmek üçin başga usullar bar bolsa aşakdaky teswir bölüminde bize habar beriň.