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,
- tecmint – l-isem tal-utent tas-sistema remota.
- 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> pwd Remote working directory: / sftp> 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> cd tecmint Remote working directory: / sftp> 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.