Jinsi ya Kuzuia Watumiaji wa SFTP kwa Saraka za Nyumbani Kwa kutumia Jela ya chroot
Katika somo hili, tutakuwa tukijadili jinsi ya kuwawekea kikomo watumiaji wa SFTP kwenye saraka zao za nyumbani au saraka mahususi. Inamaanisha kuwa mtumiaji anaweza tu kufikia saraka yake ya nyumbani, sio mfumo mzima wa faili.
Kuzuia saraka za nyumbani za watumiaji ni muhimu, hasa katika mazingira ya seva iliyoshirikiwa, ili mtumiaji ambaye hajaidhinishwa asichunguze kisiri faili na folda za mtumiaji mwingine.
Muhimu: Tafadhali pia kumbuka kuwa madhumuni ya kifungu hiki ni kutoa ufikiaji wa SFTP pekee, sio kuingia kwa SSH, kwa kufuata kifungu hiki kutakuwa na ruhusa za kuhamisha faili, lakini hairuhusiwi kufanya kipindi cha mbali cha SSH.
Njia rahisi zaidi ya kufanya hivyo, ni kuunda mazingira ya jela yenye chrooted kwa ufikiaji wa SFTP. Njia hii ni sawa kwa mifumo yote ya uendeshaji ya Unix/Linux. Kwa kutumia mazingira yaliyochongwa, tunaweza kuwawekea kikomo watumiaji kwenye saraka yao ya nyumbani au saraka mahususi.
Zuia Watumiaji kwa Saraka za Nyumbani
Katika sehemu hii, tutaunda kikundi kipya kinachoitwa sftpgroup na kupeana umiliki na ruhusa sahihi kwa akaunti za watumiaji. Kuna chaguo mbili za kuwazuia watumiaji kwenye saraka za nyumbani au maalum, tutaona njia zote mbili katika nakala hii.
Hebu tuzuie mtumiaji aliyepo, kwa mfano tecmint
, kwenye saraka yake ya nyumbani iitwayo /home/tecmint
. Kwa hili, unahitaji kuunda kikundi kipya cha sftpgroup kwa kutumia amri ya groupadd kama inavyoonyeshwa:
# groupadd sftpgroup
Ifuatayo, mpe mtumiaji 'tecmint' kwa kikundi cha sftpgroup.
# usermod -G sftpgroup tecmint
Unaweza pia kuunda mtumiaji mpya kwa kutumia amri ya useradd, kwa mfano senthil
na kumkabidhi mtumiaji kwa kikundi cha sftpusers.
# adduser senthil -g sftpgroup -s /sbin/nologin # passwd tecmint
Fungua na uongeze mistari ifuatayo kwenye /etc/ssh/sshd_config
faili ya usanidi.
Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /home ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Hifadhi na uondoke faili, anza tena huduma ya sshd ili kuchukua mabadiliko mapya.
# systemctl restart sshd OR # service sshd restart
Ukichagua watumiaji wengi kwenye saraka sawa, unapaswa kubadilisha ruhusa za saraka ya nyumbani ya kila mtumiaji ili kuzuia watumiaji wote kuvinjari saraka za nyumbani za watumiaji wengine.
# chmod 700 /home/tecmint
Sasa, ni wakati wa kuangalia kuingia kutoka kwa mfumo wa ndani. Jaribu ssh mfumo wako wa mbali kutoka kwa mfumo wako wa karibu.
# ssh [email
Hapa,
- tecmint - jina la mtumiaji la mfumo wa mbali.
- 192.168.1.150 - Anwani ya IP ya mfumo wa mbali.
[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.
Kisha, fikia mfumo wa mbali kwa kutumia SFTP.
# sftp [email
[email 's password: Connected to 192.168.1.150. sftp>
Wacha tuangalie saraka ya sasa ya kufanya kazi:
sftp> pwd Remote working directory: / sftp> ls tecmint
Hapa, tecmint
ndio saraka ya nyumbani. Cd kwenye saraka ya tecmint na uunde faili au folda utakazochagua.
sftp> cd tecmint Remote working directory: / sftp> mkdir test tecmint
Zuia Watumiaji kwenye Orodha mahususi
Katika mfano wetu uliopita, tunazuia watumiaji waliopo kwenye saraka ya nyumbani. Sasa, tutaona jinsi ya kuzuia mtumiaji mpya kwenye saraka maalum.
Unda kikundi kipya sftpgroup
.
# groupadd sftpgroup
Ifuatayo, tengeneza saraka ya kikundi cha SFTP na upe ruhusa kwa mtumiaji wa mizizi.
# mkdir -p /sftpusers/chroot # chown root:root /sftpusers/chroot/
Ifuatayo, tengeneza saraka mpya kwa kila mtumiaji, ambayo watapata ufikiaji kamili. Kwa mfano, tutaunda tecmint
mtumiaji na saraka yake mpya ya nyumbani yenye ruhusa sahihi ya kikundi kwa kutumia mfululizo wa amri zifuatazo.
# adduser tecmint -g sftpgroup -s /sbin/nologin # passwd tecmint # mkdir /sftpusers/chroot/tecmint # chown tecmint:sftpgroup /sftpusers/chroot/tecmint/ # chmod 700 /sftpusers/chroot/tecmint/
Rekebisha au ongeza mistari ifuatayo mwishoni mwa faili:
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /sftpusers/chroot/ ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
Hifadhi na uondoke faili. Anzisha tena huduma ya sshd ili kutekeleza mabadiliko yaliyohifadhiwa.
# systemctl restart sshd OR # service sshd restart
Ni hivyo tu, unaweza kuangalia kwa kuingia kwenye seva yako ya mbali ya SSH na SFTP kwa kutumia hatua iliyotolewa hapo juu kwenye Thibitisha kuingia kwa SSH na SFTP.
Kumbuka kuwa njia hii italemaza ufikiaji wa ganda, yaani, huwezi kufikia kipindi cha ganda la mfumo wa mbali kwa kutumia SSH. Unaweza tu kufikia mifumo ya mbali kupitia SFTP na kuhamisha faili kwenda na kutoka kwa mifumo ya ndani na ya mbali.
Hitimisho
Sasa unajua jinsi ya kuzuia saraka za nyumbani za watumiaji kwa kutumia mazingira ya Chroot katika Linux. Ikiwa unaona hii ni muhimu, shiriki makala hii kwenye mitandao yako ya kijamii na utujulishe katika sehemu ya maoni hapa chini ikiwa kuna mbinu zingine za kuzuia saraka za nyumbani za watumiaji.