macOS Kernel Extensions
Taarifa Msingi
Vifurushi vya Kernel (Kexts) ni vifurushi vyenye kifaa cha .kext
ambavyo hulandishwa moja kwa moja katika nafasi ya kernel ya macOS, kutoa utendaji wa ziada kwa mfumo wa uendeshaji kuu.
Mahitaji
Kwa wazi, hii ni nguvu sana hivyo ni vigumu kuhifadhi kifurushi cha kernel. Hizi ni mahitaji ambayo kifurushi cha kernel lazima kiyakidhi ili kuhifadhiwe:
Wakati wa kuingia kwenye hali ya kupona, vifurushi vya kernel lazima viweze kuhifadhiwa:
Kifurushi cha kernel lazima kiwe kimesainiwa na cheti cha usaini wa nambari ya kernel, ambacho kinaweza kupewa tu na Apple. Ambayo itapitia kwa undani kampuni na sababu kwa nini inahitajika.
Kifurushi cha kernel pia lazima kiwe kimethibitishwa, Apple itaweza kukagua ikiwa kina programu hasidi.
Kisha, mtumiaji wa root ndiye anayeweza kupakia kifurushi cha kernel na faili ndani ya kifurushi hicho lazima ziwe mali ya root.
Wakati wa mchakato wa kupakia, kifurushi lazima kiwe tayari katika eneo la ulinzi lisilokuwa la root:
/Library/StagedExtensions
(inahitaji kibali chacom.apple.rootless.storage.KernelExtensionManagement
).Hatimaye, wakati wa kujaribu kuhifadhi, mtumiaji atapokea ombi la uthibitisho na, ikiwa itakubaliwa, kompyuta lazima izimishwe ili kuihifadhi.
Mchakato wa Kuhifadhi
Katika Catalina ilikuwa hivi: Ni muhimu kufahamu kuwa mchakato wa uthibitisho unatokea katika userland. Walakini, programu tu zenye kibali cha com.apple.private.security.kext-management
ndizo zinaweza kuomba kernel kuhifadhi kifurushi: kextcache
, kextload
, kextutil
, kextd
, syspolicyd
kextutil
cli inaanza mchakato wa uthibitisho wa kuhifadhi kifurushi
Itazungumza na
kextd
kwa kutuma kutumia huduma ya Mach.
kextd
itachunguza mambo kadhaa, kama vile saini
Itazungumza na
syspolicyd
kuhakikisha ikiwa kifurushi kinaweza kupakiwa.
syspolicyd
itamwomba mtumiaji ikiwa kifurushi hakijahifadhiwa hapo awali.
syspolicyd
itaripoti matokeo kwakextd
kextd
hatimaye itaweza kuambia kernel kuhifadhi kifurushi
Ikiwa kextd
haipatikani, kextutil
inaweza kufanya ukaguzi sawa.
Marejeo
Last updated