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,

  1. tecmint - kaugsüsteemi kasutajanimi.
  2. 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&gt pwd
Remote working directory: /

sftp&gt ls
tecmint  

Siin on tecmint kodukataloog. Cd kataloogi tecmint ja looge valitud failid või kaustad.

sftp&gt cd tecmint
Remote working directory: /

sftp&gt 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.