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,
- tecmint - uzakdaky ulgamyň ulanyjy ady.
- 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> pwd Remote working directory: / sftp> ls tecmint
Bu ýerde tecmint
baş katalogdyr. Cd tecmint katalogyna giriň we islän faýllaryňyzy ýa-da bukjalaryňyzy dörediň.
sftp> cd tecmint Remote working directory: / sftp> 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ň.