Kif tirrestrinġi l-utenti SFTP għad-Diretorji tad-Dar billi tuża chroot Jail


F'dan it-tutorja, se nkunu qed niddiskutu kif nirrestrinġu l-utenti SFTP għad-direttorji tad-dar tagħhom jew direttorji speċifiċi. Dan ifisser li l-utent jista' jaċċessa biss id-direttorju tad-dar rispettiv tiegħu/tagħha, mhux is-sistema tal-fajls kollha.

Ir-restrizzjoni tad-direttorji tad-dar tal-utenti hija vitali, speċjalment f'ambjent ta 'server kondiviż, sabiex utent mhux awtorizzat ma jagħtix ħarsa lejn il-fajls u l-folders tal-utent l-ieħor.

Importanti: Jekk jogħġbok innota wkoll li l-għan ta 'dan l-artikolu huwa li jipprovdi aċċess SFTP biss, mhux logins SSH, billi ssegwi dan l-artikolu se jkollu l-permessi biex jagħmel trasferiment ta' fajls, iżda mhux permess li jagħmel sessjoni SSH remota.

L-aktar mod sempliċi biex tagħmel dan, huwa li toħloq ambjent ta 'ħabs chrooted għall-aċċess SFTP. Dan il-metodu huwa l-istess għas-sistemi operattivi Unix/Linux kollha. Bl-użu ta 'ambjent chrooted, nistgħu nirrestrinġu l-utenti jew għad-direttorju tad-dar tagħhom jew għal direttorju speċifiku.

Irrestrinġi l-Utenti għad-Diretorji tad-Dar

F'din it-taqsima, se noħolqu grupp ġdid imsejjaħ sftpgroup u nassenjaw sjieda u permessi korretti lill-kontijiet tal-utent. Hemm żewġ għażliet biex jirrestrinġu l-utenti għad-dar jew direttorji speċifiċi, se naraw iż-żewġ naħat f'dan l-artikolu.

Ejjew nirrestrinġu l-utent eżistenti, pereżempju tecmint, għad-direttorju tad-dar tiegħu/tagħha jismu /home/tecmint. Għal dan, għandek bżonn toħloq grupp sftpgroup ġdid billi tuża kmand groupadd kif muri:

# groupadd sftpgroup

Sussegwentement, assenja l-utent 'tecmint' lill-grupp sftpgroup.

# usermod -G sftpgroup tecmint

Tista' wkoll toħloq utent ġdid billi tuża l-kmand useradd, pereżempju senthil u tassenja l-utent lill-grupp sftpusers.

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

Iftaħ u żid il-linji li ġejjin fil-fajl ta' konfigurazzjoni /etc/ssh/sshd_config.

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

Issejvja u oħroġ mill-fajl, ibda mill-ġdid is-servizz sshd biex jidħol fis-seħħ bidliet ġodda.

# systemctl restart sshd
OR
# service sshd restart

Jekk tikroot utenti multipli għall-istess direttorju, għandek tibdel il-permessi tad-direttorju tad-dar ta 'kull utent sabiex ma tħallix lill-utenti kollha jibbrawżjaw id-direttorji tad-dar ta' kull utenti oħra.

# chmod 700 /home/tecmint

Issa, wasal iż-żmien li tivverifika l-login minn sistema lokali. Ipprova ssh is-sistema remota tiegħek mis-sistema lokali tiegħek.

# ssh [email 

Hawnhekk,

  1. tecmint – l-isem tal-utent tas-sistema remota.
  2. 192.168.1.150 – L-indirizz IP tas-sistema remota.

[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.

Imbagħad, aċċess sistema remota billi tuża SFTP.

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

Ejja niċċekkjaw id-direttorju tax-xogħol attwali:

sftp&gt pwd
Remote working directory: /

sftp&gt ls
tecmint  

Hawnhekk, tecmint huwa d-direttorju tad-dar. Cd fid-direttorju tecmint u oħloq il-fajls jew folders tal-għażla tiegħek.

sftp&gt cd tecmint
Remote working directory: /

sftp&gt mkdir test
tecmint  

Jirrestrinġi l-Utenti għal Direttorju Speċifiku

Fl-eżempju preċedenti tagħna, aħna nirrestrinġu l-utenti eżistenti għad-direttorju tad-dar. Issa, se naraw kif nirrestrinġu utent ġdid għal direttorju tad-dwana.

Oħloq grupp ġdid sftpgroup.

# groupadd sftpgroup

Sussegwentement, oħloq direttorju għall-grupp SFTP u tassenja l-permessi għall-utent għerq.

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

Sussegwentement, oħloq direttorji ġodda għal kull utent, li għalihom se jkollhom aċċess sħiħ. Pereżempju, se noħolqu utent tecmint u huwa direttorju domestiku ġdid b'permess korrett tal-grupp billi tuża s-serje ta 'kmandi li ġejjin.

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

Immodifika jew żid il-linji li ġejjin fl-aħħar tal-fajl:

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

Issejvja u oħroġ mill-fajl. Ibda mill-ġdid is-servizz sshd biex jidħol fis-seħħ il-bidliet salvati.

# systemctl restart sshd
OR
# service sshd restart

Dak hu, tista 'tiċċekkja billi tidħol fis-server SSH u SFTP remot tiegħek billi tuża l-pass ipprovdut hawn fuq f'Ivverifika l-login ta' SSH u SFTP.

Kun konxju li dan il-metodu se jiskonnettja l-aċċess tal-qoxra, jiġifieri ma tistax taċċessa s-sessjoni tal-qoxra tas-sistema remota billi tuża SSH. Tista 'biss taċċessa s-sistemi remoti permezz ta' SFTP u tagħmel trasferiment ta 'fajls lejn u mis-sistemi lokali u remoti.

Konklużjoni

Issa taf kif tirrestrinġi d-direttorji tad-dar tal-utenti billi tuża ambjent Chroot fil-Linux. Jekk issib dan utli, aqsam dan l-artikolu fuq in-netwerks soċjali tiegħek u għarrafna fit-taqsima tal-kummenti hawn taħt jekk hemmx xi metodi oħra biex tirrestrinġi d-direttorji tad-dar tal-utenti.