Kuidas piirata SFTP kasutajate kodukatalooge chroot Jaili abil
Selles õpetuses arutame, kuidas piirata SFTP kasutajate kodukatalooge või konkreetseid katalooge. See tähendab, et kasutaja pääseb juurde ainult oma vastavasse kodukataloogi, mitte kogu failisüsteemile.
Kasutajate kodukataloogide piiramine on oluline, eriti jagatud serveri keskkonnas, nii et volitamata kasutaja ei hiiliks teise kasutaja failidesse ja kaustadesse.
Tähtis. Pange tähele, et selle artikli eesmärk on pakkuda ainult SFTP-juurdepääsu, mitte SSH-i sisselogimisandmeid. Selle artikli järgimisel on küll õigused failiedastuseks, kuid mitte SSH-seanssi.
Lihtsaim viis seda teha on luua sisselülitatud vangla keskkond SFTP juurdepääsuks. See meetod on sama kõigi Unixi/Linuxi operatsioonisüsteemide puhul. Krootilise keskkonna abil saame kasutajaid piirata kas nende kodukataloogi või kindla kataloogiga.
Piirake kasutajaid kodukataloogidega
Selles jaotises loome uue rühma nimega sftpgroup ja määrame kasutajakontodele õiged omandiõigused ja õigused. Kasutajate piiramiseks kodu- või konkreetsete kataloogidega on kaks valikut, näeme selles artiklis mõlemat moodi.
Piiragem olemasolevat kasutajat, näiteks tecmint
, tema kodukataloogiga nimega /home/tecmint
. Selleks peate looma uue grupi sftpgroup, kasutades käsku groupadd, nagu näidatud:
# groupadd sftpgroup
Järgmisena määrake kasutaja 'tecmint' sftpgroupi gruppi.
# usermod -G sftpgroup tecmint
Uue kasutaja saate luua ka käsuga useradd, näiteks senthil
ja määrata kasutaja gruppi sftpusers.
# adduser senthil -g sftpgroup -s /sbin/nologin # passwd tecmint
Avage ja lisage konfiguratsioonifaili /etc/ssh/sshd_config
järgmised read.
Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /home ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Salvestage fail ja väljuge sellest, taaskäivitage sshd-teenus uute muudatuste jõustumiseks.
# systemctl restart sshd OR # service sshd restart
Kui sirvite mitu kasutajat ühte kataloogi, peaksite muutma iga kasutaja kodukataloogi õigusi, et kõik kasutajad ei saaks üksteise kasutajate kodukatalooge sirvida.
# chmod 700 /home/tecmint
Nüüd on aeg kontrollida sisselogimist kohalikust süsteemist. Proovige oma kaugsüsteemi oma kohalikust süsteemist eraldada.
# ssh [email
Siin,
- tecmint - kaugsüsteemi kasutajanimi.
- 192.168.1.150 - kaugsüsteemi IP-aadress.
[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.
Seejärel pöörduge kaugsüsteemi juurde SFTP abil.
# sftp [email
[email 's password: Connected to 192.168.1.150. sftp>
Kontrollime praegust töökataloogi:
sftp> pwd Remote working directory: / sftp> ls tecmint
Siin on tecmint
kodukataloog. Cd kataloogi tecmint ja looge valitud failid või kaustad.
sftp> cd tecmint Remote working directory: / sftp> mkdir test tecmint
Piirake kasutajad kindla kataloogiga
Meie eelmises näites piirame olemasolevad kasutajad kodukataloogiga. Nüüd näeme, kuidas piirata uut kasutajat kohandatud kataloogiga.
Looge uus rühm sftpgroup
.
# groupadd sftpgroup
Järgmisena looge SFTP-rühma kataloog ja määrake õigused juurkasutajale.
# mkdir -p /sftpusers/chroot # chown root:root /sftpusers/chroot/
Järgmisena looge igale kasutajale uued kataloogid, millele neil on täielik juurdepääs. Näiteks loome kasutaja tecmint
kasutaja ja see on uus kodukataloog, millel on õiged rühmaõigused, kasutades järgmisi käsklusi.
# adduser tecmint -g sftpgroup -s /sbin/nologin # passwd tecmint # mkdir /sftpusers/chroot/tecmint # chown tecmint:sftpgroup /sftpusers/chroot/tecmint/ # chmod 700 /sftpusers/chroot/tecmint/
Muutke või lisage faili lõppu järgmised read:
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /sftpusers/chroot/ ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Salvestage ja väljuge failist. Salvestatud muudatuste jõustamiseks taaskäivitage sshd-teenus.
# systemctl restart sshd OR # service sshd restart
See on kõik, mida saate kontrollida, logides sisse oma kaugserverisse SSH ja SFTP, kasutades ülaltoodud juhist aadressil Kontrolli SSH ja SFTP sisselogimist.
Pidage meeles, et see meetod keelab kestale juurdepääsu, st te ei pääse SSH-ga kaugsüsteemi shelliseansile juurde. Juurdepääs kaugsüsteemidele on võimalik ainult SFTP kaudu ja failide ülekandmine kohalikku ja kaugsüsteemi ja sealt tagasi.
Järeldus
Nüüd teate, kuidas piirata kasutajate kodukatalooge, kasutades Linuxis Chrooti keskkonda. Kui leiate, et see on kasulik, jagage seda artiklit oma suhtlusvõrgustikes ja andke meile teada allpool olevas kommentaaride jaotises, kui kasutajate kodukataloogide piiramiseks on muid meetodeid.