එල් කැපිටන්හි “මූල රහිත” ලක්ෂණය කුමක්ද?


248

එල් කැපිටන් හි "රූට්ලස්" අංගය ගැන මම දැන් ඉගෙන ගෙන ඇති අතර, "මූල පරිශීලකයෙකු නොමැත", "කිසිවක් වෙනස් කළ නොහැක /System" සහ "අපට මූල ලබා ගත නොහැකි නිසා ලෝකය අවසන් වනු ඇත " වැනි දේවල් මට අසන්නට ලැබේ .

තාක්ෂණික මට්ටමින් එල් කැපිටන් හි “මූල රහිත” ලක්ෂණය කුමක්ද? පරිශීලක අත්දැකීම් සහ සංවර්ධක අත්දැකීම් සඳහා එය සැබවින්ම අදහස් කරන්නේ කුමක්ද? ඇත sudo -sතවමත් වැඩ, සහ, කොහොමද ලෙස ෂෙල් භාවිතා අත්දැකීම් ඇත එසේ නම් rootවෙනස්?

Answers:


285

පළමුවැන්න: මූල මූලයක් තවමත් පවතින බැවින් "මූල රහිත" යන නම නොමඟ යවන සුළුය, ඔබට තවමත් එයට පිවිසිය හැකිය (නිල නාමය, "පද්ධති අඛණ්ඩතාව ආරක්ෂණය", වඩාත් නිවැරදි ය). එය සැබවින්ම කරන්නේ මූල ගිණුමේ බලය සීමා කිරීමයි, එවිට ඔබ root බවට පත්වුවද ඔබට පද්ධතිය මත පූර්ණ පාලනයක් නොමැත. අත්යවශ්යයෙන්ම, අදහස වන්නේ අනිෂ්ට මෘදුකාංග සඳහා මූල ප්රවේශය ලබා ගැනීම ඉතා පහසු බවය (උදා: පරිශීලකයාට සත්යාපන සංවාදයක් ඉදිරිපත් කිරීමෙන් පරිශීලකයා පරිපාලක මුරපදය ප්රත්යාවර්තව ඇතුළත් කිරීමට හේතු වේ). SIP තවත් ආරක්ෂිත තට්ටුවක් එක් කරයි, එය අනිෂ්ට මෘදුකාංග වලට මුල් බැස ගත්තද විනිවිද යාමට නොහැකිය. මෙහි නරක කොටස, ඇත්ත වශයෙන්ම, එය ඔබ හිතාමතා කරන දේ සඳහා ද අදාළ විය යුතුය. නමුත් එය මූලයට පනවා ඇති සීමාවන් එතරම් නරක නැත; ඔවුන් බොහෝ "සාමාන්‍ය" වලක්වනු නොලැබේ

මුල සිට පවා එය සීමා කරන දේ මෙන්න:

  • ඔබ ඕනෑම දෙයක් වෙනස් කරන්න බැහැ /System, /bin, /sbin, හෝ /usr( 'වශයෙන් /usr/local); හෝ කිසියම් සාදන ලද යෙදුම් සහ උපයෝගිතා. මෙම ප්‍රදේශ වෙනස් කළ හැක්කේ ස්ථාපක සහ මෘදුකාංග යාවත්කාලීන කිරීම් වලට පමණක් වන අතර ඔවුන් එය කරන්නේ ඇපල් අත්සන් කළ පැකේජ ස්ථාපනය කිරීමේදී පමණි. නමුත් සාමාන්‍ය OS X- විලාසිතාවේ අභිරුචිකරණයන් /Library(හෝ ~/Library, හෝ /Applications), සහ යුනික්ස් විලාසිතාවේ අභිරුචිකරණයන් (උදා: හෝම්බ rew) ඇතුළට යන බැවින් /usr/local(හෝ සමහර විට /etcහෝ /opt), මෙය විශාල ගනුදෙනුවක් නොවිය යුතුය. ආරම්භක තැටියට වාරණ මට්ටමේ ලිවීම් ද එය වළක්වයි, එබැවින් ඔබට එය මඟ හැරිය නොහැක.

    සීමිත නාමාවලි වල සම්පූර්ණ ලැයිස්තුව (සහ ව්‍යතිරේකයන් /usr/localසහ තවත් කිහිපයක්) ඇත /System/Library/Sandbox/rootless.conf. ඇත්ත වශයෙන්ම, මෙම ගොනුව සීමිත ප්‍රදේශයක පවතී.

    ඔබ එල් කැපිටන් වෙත යාවත්කාලීන කරන විට, එය ඕනෑම “අනවසර” ලිපිගොනු සීමිත ප්‍රදේශවලින් ගෙන යයි /Library/SystemMigration/History/Migration-(some UUID)/QuarantineRoot/.

  • නිදොස් කිරීම (හෝ ඔවුන් පටවන ගතික පුස්තකාල වෙනස් කිරීම හෝ වෙනත් දේ) වැනි දේ සඳහා ඔබට පද්ධති ක්‍රියාවලීන් (උදා: එම පද්ධති ස්ථාන වලින් ධාවනය වන ඒවා) ඇමිණිය නොහැක. නැවතත්, විශාල ගනුදෙනුවක් නොවේ; සංවර්ධකයින්ට තවමත් ඔවුන්ගේම වැඩසටහන් නිදොස්කරණය කළ හැකිය.

    සාදන ලද ඇපල් යෙදුම් වලට (විශේෂයෙන් සෙවුම) කේත එන්නත් කිරීම වැනි වැදගත් දේවල් මෙය අවහිර කරයි. dtraceපද්ධති අධීක්ෂණය සඳහා පදනම් වූ මෙවලම් (උදා opensnoop) බොහෝ පද්ධති ක්‍රියාවලීන් නිරීක්ෂණය කිරීමට සහ වාර්තා කිරීමට නොහැකි වනු ඇති බව ද එයින් අදහස් වේ.

  • නිසි ලෙස අත්සන් කර නොමැති නම් (එනම් ඇපල් හෝ ඇපල් විසින් අනුමත කරන ලද සංවර්ධකයෙකු විසින්) ඔබට කර්නල් දිගු (කෙක්ස්ට්) පූරණය කළ නොහැක. කෙක්ස්ට් අත්සන් කිරීම බලාත්මක කිරීම සඳහා මෙය පැරණි පද්ධතිය ප්‍රතිස්ථාපනය කරන බව සලකන්න (සහ එය මඟ හැරීමේ පැරණි ක්‍රම). V10.10.4 සිට ඇපල් සමාගමට තෙවන පාර්ශවීය එස්එස්ඩී සඳහා ත්‍රිම් සහය ලබා දීමට ක්‍රමයක් ඇති බැවින්, අත්සන් නොකළ යතුරු භාවිතා කිරීමට # 1 හේතුව පහව ගොස් ඇත.

  • සියෙරා (10.12) සිට, දියත් කළ වින්‍යාස සැකසුම් වෙනස් කළ නොහැක (නිදසුනක් ලෙස, සමහර දියත් කිරීමේ ඩීමන් බෑම කළ නොහැක).

  • මොජාවේ (10.14) සිට, පරිශීලකයින්ගේ පුද්ගලික තොරතුරු (ඊමේල්, සම්බන්ධතා, ආදිය) වෙත ප්‍රවේශ වීම පරිශීලකයා එම තොරතුරු වෙත ප්‍රවේශ වීමට අනුමත කර ඇති යෙදුම් වලට සීමා වේ. මෙය සාමාන්‍යයෙන් වෙනම අංගයක් ලෙස සලකනු ලැබේ (පුද්ගලික තොරතුරු ආරක්ෂණ හෝ TCC ලෙස හැඳින්වේ), නමුත් එය SIP මත පදනම් වන අතර SIP අක්‍රීය කිරීමෙන් එයද අක්‍රීය වේ. බලන්න: "පුද්ගලික දත්ත වලට යෙදුම් ප්‍රවේශය සීමා කිරීම සඳහා මැකෝස් මොජාවේ ක්‍රියාත්මක කරන්නේ කුමක්ද සහ කෙසේද?"

  • කැටලිනා (10.15) සිට, බොහෝ පද්ධති ලිපිගොනු වෙනම කියවීමට පමණක් පරිමාව මත ගබඩා කිරීමෙන් ශක්තිමත් වේ. මෙය SIP හි දැඩි කොටසක් නොවන අතර SIP අක්‍රීය කිරීමෙන් අක්‍රීය නොවේ. බලන්න: "ඇපල් [කැටලිනා] ගොනු පද්ධති වල අළුත් දේ" පිළිබඳ WWDC ඉදිරිපත් කිරීම .

ඔබට මෙම සීමාවන් අවශ්‍ය නොවන්නේ නම් - එක්කෝ ඔබට ඉඩ දෙන ප්‍රමාණයට වඩා ඔබේ පද්ධතිය වෙනස් කිරීමට අවශ්‍ය නිසා හෝ මෙම සීමාවන් යටතේ ප්‍රායෝගික නොවන කෙක්ස්ට් වැනි දෙයක් ඔබ සංවර්ධනය කර නිදොස් කිරීම නිසා, ඔබට SIP අක්‍රිය කළ හැකිය. දැනට මේ සඳහා ප්‍රතිසාධන ප්‍රකාරයට csrutil disableනැවත පණගැන්වීම සහ විධානය ක්‍රියාත්මක කිරීම අවශ්‍ය වේ (ඔබට ඒ හා සමානව එය නැවත සක්‍රීය කළ හැකිය csrutil enable).

ඔබට SIP හි කොටස් තෝරා බේරා අක්‍රීය කළ හැකිය . උදාහරණයක් ලෙස, csrutil enable --without kextSIP හි කර්නල් දිගුව සීමා කිරීම අක්‍රීය කරනු ඇත, නමුත් එහි අනෙකුත් ආරක්ෂාවන් නිසි තැන තබන්න.

නමුත් තාවකාලිකව හෝ අර්ධ වශයෙන් පවා SIP අක්‍රීය කිරීමට පෙර කරුණාකර නවත්වන්න: ඔබට එය අක්‍රිය කිරීමට අවශ්‍යද, නැතිනම් ඔබට අවශ්‍ය දේ කිරීමට වඩා හොඳ (SIP- අනුකූල) ක්‍රමයක් තිබේද? ඇත්තටම ඔබ යම් දෙයක් වෙනස් කිරීමට අවශ්ය වන්නේ ඇයි /System/Libraryහෝ /binවෙනත් කුමන හෝ, හෝ ඒ වගේ හොඳ තැනක යන්න පුළුවන් /Libraryහෝ /usr/local/binආදිය? ඔබ පුරුදුවී නොමැති නම් SIP වලට "බාධා" දැනිය හැකිය, එය අක්‍රීය කිරීමට නීත්‍යානුකූල හේතු කිහිපයක් ඇත, නමුත් එය බලාත්මක කරන බොහෝ දේ කෙසේ හෝ හොඳම පුහුණුවකි.

හැකිතාක් දුරට SIP සක්‍රීය කර තැබීමේ වැදගත්කම අවධාරනය කිරීම සඳහා, 2019 සැප්තැම්බර් 23 සිදුවීම් සලකා බලන්න. ගූගල් විසින් ක්‍රෝම් වෙත යාවත්කාලීනයක් නිකුත් කළ අතර එය සංකේතාත්මක සබැඳිය ප්‍රතිස්ථාපනය කිරීමට උත්සාහ /varකළේය /private/var. බොහෝ පද්ධති වල, SIP මෙය අවහිර කළ අතර නරක ප්‍රති were ල නොමැත. SIP අක්‍රීය කර ඇති පද්ධති වල, එය මැකෝස් කැඩී බිඳී නොයනු ඇත. SIP අක්‍රීය කිරීමට වඩාත් පොදු හේතුව වූයේ අනුමත නොකළ (/ නුසුදුසු ලෙස අත්සන් කරන ලද) කර්නල් දිගු පැටවීම (විශේෂයෙන් වීඩියෝ ධාවක); ඔවුන් කෙක්ස්ට් තහනම පමණක් අක්‍රිය කර ඇත්නම්, ඒවාට බලපෑමක් සිදු නොවනු ඇත. බලන්න නිල Google සහාය නූල් , එය ලෙසද හැඳින්වේ ප්රශ්න හා එය මත , සහ ක ARS ටෙක්නිකා ලිපිය .

ආශ්රිත සහ තවත් තොරතුරු: "ආරක්ෂාව හා ඔබේ යෙදුම්" මත WWDC ඉදිරිපත් , වන quora.com මත එල්දාද් Eilam විසින් හොඳ පැහැදිලි කිරීමක් , එම එල් Capitan ක ARS ටෙක්නිකා සමාලෝචන , සහ SIP මත ඇපල් සහාය ලිපිය , සහ පොහොසත් Trouton විසින් ගැඹුරු වැටුනි ( කවුද මේ ප්‍රශ්නයට පිළිතුරක් පළ කළේ ).


1
හොඳයි, ස්තූතියි. මම මෙම ප්‍රශ්නය ඇසුවේ වෙනත් කොටස් හුවමාරු ප්‍රශ්නයක එම කෝරා ලිපියට සම්බන්ධ වීමට සූදානම්ව සිටි නිසා එය නිවැරදි පියවර නොවන බව වටහා ගත් හෙයිනි ;-)
ජොෂ්

16
... එසේම මෙය මුළුමනින්ම මට kextවිධාන රේඛාවේ ධාවනය කළ හැකි ද්විමය නිර්මාණය කිරීමට ඉඩ දීම සඳහා මට හෝ යමක් ලිවීමට අවශ්‍ය කරයි .
ජොෂ්

1
@ ව්ලැඩිමීර් කණගාටුයි, ඇපල් සමාගමේ සැලසුම් පිළිබඳ අභ්‍යන්තර තොරතුරු මා සතුව නොමැත. මගේ අනුමානය වනුයේ එය අපේක්ෂා කළ හැකි අනාගතයක් සඳහා රැඳී සිටිනු ඇත, නමුත් එය (සහ SIP ම) ඊළඟ අනුවාද කිහිපය තුළ සැලකිය යුතු ලෙස වෙනස් වුවහොත් මා පුදුම නොවනු ඇත.
ගෝර්ඩන් ඩේවිසන්

5
මම ඇපල්ට වෛර කරන අවස්ථා තිබේ. ඔබටම වෙඩි තබා ගැනීම දුෂ්කර බව මම අගය කරමි (මීට වසර ගණනාවකට පෙර මම වරක් ලිනක්ස් හි මගේ MBR වෙත පෙළ ගොනුවක් අහම්බෙන් කැට් කළෙමි), නමුත් ඔබට අවශ්‍ය විටෙක උදා: / usr / bin හි අතිරේක සබැඳියක් තබා, සහ තිබීම ඒ සඳහා වෙනත් ආකාරයකින් හොඳ ආරක්ෂාවක් අක්‍රීය කිරීමේ ක්‍රියාවලිය හරහා යාම පීතෘමූලික හා කරදරකාරී ය. අනතුරු ඇඟවීම් සහිත අමතර සංවාදයක් ප්‍රමාණවත් වනු ඇත.
අඟහරු

2
අඩු ආක්‍රමණශීලී ක්‍රමය SIP අක්‍රීය කර ඇති බව පෙනේ, ඔබට සැබවින්ම ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය ද්විමය යුවල කිහිපයක් මත පමණක් ඇති සීමාවන් ඉවත් කිරීම සඳහා ප්‍රධාන ගොනුව සංස්කරණය කරන්න, සහ SIP නැවත සක්‍රීය කරන්න.
යෝෂුවා

96

මට නම් එයින් අදහස් කරන්නේ DTrace තවදුරටත් ක්‍රියාත්මක නොවන බවයි.

DTrace ලිනක්ස් හි ptrace / strace වලට සමාන වේ, එමඟින් කර්නලයට ක්‍රියාවලියක් පවසන්නේ කුමක්දැයි බැලීමට එය ඔබට ඉඩ සලසයි. ක්‍රියාවලියකට ගොනුවක් විවෘත කිරීමට, ගොනුවක් ලිවීමට හෝ වරායක් විවෘත කිරීමට අවශ්‍ය සෑම අවස්ථාවකම එයට කර්නලය විමසිය යුතුය. ලිනක්ස් හි, මෙම අධීක්ෂණ ක්‍රියාවලිය "පරිශීලක භූමියේ" කර්නලයෙන් පිටත සිදු වන අතර එමඟින් අවසරයන් ඉතා සියුම් වේ. පරිශීලකයෙකුට තමන්ගේම යෙදුම් අධීක්ෂණය කළ හැකිය (දෝෂ නිවැරදි කිරීමට, මතක කාන්දුවීම් සොයා ගැනීමට යනාදිය) නමුත් වෙනත් පරිශීලකයෙකුගේ ක්‍රියාවලිය අධීක්ෂණය කිරීම සඳහා root විය යුතුය.

OSX හි DTrace කෙසේ වෙතත් කර්නල් මට්ටමින් ක්‍රියා කරන අතර එය වඩාත් ක්‍රියාකාරී හා බලවත් කරයි, කෙසේ වෙතත් එයට කර්නල් තුළට එහි ප්‍රොබ්ස් එක් කිරීමට මූල ප්‍රවේශය අවශ්‍ය වන අතර ඒ නිසා ඕනෑම දෙයක් කළ හැකිය. පරිශීලකයෙකුට තමන්ගේ ක්‍රියාවලීන් root නොවී සොයාගත නොහැක, නමුත් root ලෙස ඔවුන්ට ඔවුන්ගේ ක්‍රියාවලීන් නැරඹීමට පමණක් නොව, ඇත්ත වශයෙන්ම පද්ධතියේ සියලුම ක්‍රියාවලීන් එකවර නැරඹිය හැකිය. උදාහරණයක් ලෙස, ඔබට ගොනුවක් නැරඹිය හැකිය (iosnoop සමඟ) සහ එය කියවන්නේ කුමන ක්‍රියාවලියදැයි බලන්න. අනිෂ්ට මෘදුකාංග හඳුනා ගැනීම සඳහා මෙය මෙතෙක් භාවිතා කළ වඩාත්ම ප්‍රයෝජනවත් අංගයකි. කර්නලය ජාල IO සමඟ ද කටයුතු කරන හෙයින්, එය ද සත්‍ය වේ. Wireshark අසාමාන්‍ය ජාල ක්‍රියාකාරකම් අනාවරණය කරයි, DTrace මඟින් දත්ත යැවීමේ ක්‍රියාවලිය ඔබට කියනු ඇත, එය කර්නලය මෙන් පද්ධතියට කාවැදී ඇතත්.

කෙසේ වෙතත්, එල් කැපිටන් අනුව, ඇපල් විසින් ඩෙට්රේස් වැඩ කිරීම හිතාමතාම වළක්වා ඇත - එය විශේෂයෙන් ඉලක්ක කර ඇති අතර SIP සීමා කරන දෙයක් ලෙස හුදකලා වී ඇත. ඔවුන් මෙය කරන්නේ ඇයි? හොඳයි, මීට පෙර ඇපල් විසින් ඔවුන්ගේ කර්නලය සහ ඩීට්‍රේස් නවීකරණය කරන ලද්දේ සමහර ක්‍රියාදාමයන් ඩීට්‍රේස් හරහා අධීක්ෂණයෙන් ඉවත් වීමට ඉඩ සලසමිනි. මෙයට හේතුව වූයේ න්‍යායාත්මකව යමෙකුට ඩීට්‍රේස් කර ඩීආර්එම් නොවන දත්ත ක්‍රියාවලීන්ගේ මතකයෙන් උදුරා ගත හැකි බැවින් අයිටියුන්ස් වැනි යෙදුම්වල ඩීආර්එම් ආරක්ෂා කිරීමයි.

කෙසේ වෙතත්, පර්යේෂකයන්ට ඔවුන්ගේ කාර්යයන් දිගටම කරගෙන යාමට ඉඩ සලසන වැදගත් වැඩ කොටසක් ඇති අතර, එය ඉවත් වීමේ ධජය නොසලකා හැරීම සඳහා කර්නලය වෙනස් කිරීමකි, එබැවින් මෙම ක්‍රියාවලීන් සඳහා ඩීට්‍රේස් තවමත් භාවිතා කළ හැකිය. මෙය සැබවින්ම විශිෂ්ටයි, මන්ද මෙම ඩී-ට්‍රේස් ධජය සමඟ දැන් දැල්වී ඇති ස්ථාන හඳුනාගැනීම මග හැරීමට උත්සාහ කරන වැඩසටහන්. ඇපල් හෝ නරක මිනිසුන්ට සැඟවීමට අවශ්‍ය ඕනෑම දෙයක් දැන් පැහැදිලිව පෙනේ ...

නමුත් එය දැන් ක්‍රියාත්මක නොවේ, එබැවින් මෙය ඔබට බලපාන්නේ කෙසේද? හොඳයි, එය ඔබට සෘජුව හා වක්‍රව බලපානු ඇත. කෙලින්ම, එය ඔබේ පද්ධතිය අධීක්ෂණය කිරීමේ හැකියාව සීමා කරයි. පහත් මට්ටමේ පද්ධති පරිපාලනය සහ අධීක්ෂණ මෙවලම් විශාල සංඛ්‍යාවක් (ඉහළ මට්ටමේ මෙවලම් මත ගොඩනගා ඇති) තවදුරටත් ක්‍රියාත්මක නොවේ. කෙසේ වෙතත් වක්‍ර බලපෑම වඩා විශාල වනු ඇත - ආරක්ෂක වෘත්තිකයන් දරුණුතම තර්ජන හඳුනා ගැනීම සඳහා ගැඹුරු පද්ධති ප්‍රවේශය මත රඳා සිටිති. අපට තවදුරටත් එය කළ නොහැකිය. අනිෂ්ට මෘදුකාංග විශ්ලේෂණය කිරීමේදී එය ඉතා වැදගත් වන්නේ එය නිදොස්කරණයක හෝ හනිපොට් එකක ක්‍රියාත්මක වන බව නොදන්නා බැවිනි. SIP අක්‍රීය කිරීම නරක පුද්ගලයින් සහ ඇපල් යන දෙඅංශයෙන්ම සියලුම මෘදුකාංග වලට පවසන්නේ මෙම පද්ධතිය නරඹන බවයි. තවදුරටත් මුරකරුවන් දෙස බලා නොසිටීම. SIP ආරක්ෂාව ගැන නම් ඔවුන්ට පරිශීලකයින්ට root ගැන දැනුවත් කළ හැකිය - ඒ වෙනුවට ඔවුන් එය ඉවත් කළහ. අවසානයේදී මෙයින් අදහස් කරන්නේ ඇපල් විසින් මුරපදයේ 'සියල්ල සහ සියල්ල අවසන් කරන්න' යන ආරක්ෂක බාධකය 'සියල්ල විය යුතු අතර සියල්ල අවසන් කරන්න' යන SIP ආරක්ෂණ යාන්ත්‍රණය ආදේශ කර ඇති බවයි. නැතහොත් ඔබ සමාජ ඉංජිනේරු විද්‍යාව පිළිබඳ හොඳ නම්, නැවත පණගැන්වීමක් සහිත මූල මුරපදයක් ...

මෙයද ඇත: රූප විස්තරය මෙහි ඇතුළත් කරන්න


3
එසේම, මම මෙම පිළිතුර ප්‍රශ්නයට පිළිතුරු නොදෙන බැවින් පහත හෙලුවෙමි, එනම්: තාක්ෂණික මට්ටමින් එල් කැපිටන්හි “මූල රහිත” ලක්ෂණය කුමක්ද? සුඩෝ-එස් තවමත් ක්‍රියාත්මක වන අතර, එසේ නම්, මූලයක් ලෙස කවචයක් භාවිතා කිරීමේ අත්දැකීම වෙනස් වන්නේ කෙසේද? . මෙම පිළිතුර DTrace ගැන පමණක් කතා කරන බව පෙනේ
ජොෂ්

26
මම හිතන්නේ පිළිතුර ප්‍රශ්නයේ හොඳ කොටසකට පැහැදිලිව හා නිවැරදිව කථා කරයි, එය ෂෙල් එකක් මූල ලෙස භාවිතා කිරීමේ අත්දැකීම වෙනස් වන්නේ කෙසේද යන්නයි. සුඩෝ දැන් ව්‍යාජ සුඩෝ ය. ගෘහ නිර්මාණ ශිල්පයේ තට්ටුවක් ඇත්ත වශයෙන්ම එකතු කර ඇත. මට අදාළ බව පෙනේ. මේ මිනිසාගේ ජීවනෝපායට. එය පහත් කොට සලකන්නේ ඇයි?
sas08

5
atpatrix මට ist ානවිද්‍යාත්මක වෙනස තේරෙන්නේ නැත. දේවල් මොනවාද සහ ඔවුන් කරන දේ සහ ඒවා පවතින්නේ ඇයිද යන්න සමීපව සම්බන්ධ වේ. වග බලා ගන්න මෙම පශ්චාත් ආරම්භ en බලමුභ විභේදන එක් අංගයක් ගැන කතා, නමුත් එය මනා ලෙස විෂය පථ. "මෙය සංවර්ධක අත්දැකීම් වෙනස් කරන්නේ කෙසේද?" යනාදිය ඇත්ත වශයෙන්ම සංවර්ධකයින්ට ඔවුන්ගේ අත්දැකීම් ගැන කතා කිරීමට විවෘත හා ආත්මීය ආරාධනයකි. මෙම ප්‍රශ්න නොපැහැදිලි හා ඕනෑවට වඩා විරෝධය දැක්වීමෙන් “අපට මුල් බැස ගත නොහැකි නිසා ලෝකය අවසන් වනු ඇත” හානිය පිළිබඳ අදහස බැහැර කරන බවක් පෙනේ; මෙය dev අත්දැකීමට හානියක් පෙන්නුම් කරයි.
sas08

4
මම තවත් තොරතුරු ජොෂ් එකතු කිරීමට යන්නේ නැත, මන්ද මම අනෙක් පිළිතුරු කියූ දේ පිටපත් කරන අතර ඇත්ත වශයෙන්ම පිටුවට කිසිවක් එකතු නොකරමි. ඉහළ පිළිතුරට DTrace පිළිබඳ තවත් තොරතුරු තවදුරටත් ක්‍රියාත්මක නොවන්නේ නම් වඩා හොඳ වනු ඇත, පසුව මම මෙම පිළිතුර අතිරික්තයක් ලෙස ඉවත් කරමි :) අනෙක් පිළිතුර arstechnica.com/apple/2015/09/ හි කාබන් පිටපතක් පමණි. os-x-10-11-el-capitan-the-ars-technica-review / 9 / ඉහළ අදහස් දැක්වීමේදී සම්බන්ධ කර ඇති බැවින් එයද යා හැකිය. නමුත් මෙම පිළිතුරේ සමහර දේවල්, ඩීට්‍රේස් SIP සමඟ සුඩෝ ලෙස ක්‍රියා නොකිරීම වැනි වෙනත් දේ අන්තර්ජාලයේ නොව වෙනත් තැනක නොවේ
JJ

3
මා මෙතෙක් හඳුනාගෙන ඇති එකම දෙය නම්, ඔබ ඩීට්‍රේස් සඳහා එස්අයිපී අක්‍රීය කළහොත්, ඔබට සීමිත හිමිකම් යටතේ නොවන ක්‍රියාවලීන් සමඟ සම්බන්ධ විය හැකිය, එල් කැප් යනු පද්ධතිය සමඟ එන සෑම දෙයක්ම (සෆාරි වැනි) ය. "ගොළු" ක්‍රමයක් ඇත, එනම් සියලුම පද්ධති ද්විමය / මූල රහිත (එකම නාමාවලි ව්‍යුහයක් සහිත) වැනි නව නාමාවලියකට පිටපත් කිරීම, ඉන්පසු / root රහිත සඳහා chroot එකක් සාදන්න. දැන් සෑම දෙයක්ම හිමිකම් රහිතව ක්‍රියාත්මක වන අතර එයද ඇමිණිය හැකිය. වඩා හොඳ ක්‍රමය වන්නේ ඔබේ ගොනු පද්ධතිය නැවත සවිකිරීමයි, නමුත් ඇපල් විසින් එම අඩුපාඩුව වසා දමන්නේ කෙසේද / කෙසේද යන්න කීමට මම බිය වෙමි ...
ජේ. ජේ.

50

පද්ධති අඛණ්ඩතාව ආරක්ෂණය (SIP) යනු තෙවන පාර්ශවයන් විසින් පද්ධති ලිපිගොනු සහ ක්‍රියාවලි වෙනස් කිරීම වැළැක්වීමේ අරමුණ ඇති සමස්ත ආරක්ෂක ප්‍රතිපත්තියකි. මෙය සාක්ෂාත් කර ගැනීම සඳහා එයට පහත සංකල්ප ඇත:

  • ගොනු පද්ධති ආරක්ෂාව
  • කර්නල් දිගු කිරීමේ ආරක්ෂාව
  • ධාවන කාල ආරක්ෂාව

ගොනු පද්ධති ආරක්ෂාව

සමහර බහලුම්වල ගබඩා කර ඇති නාමාවලි සහ ලිපිගොනු එකතු කිරීම, මකා දැමීම හෝ වෙනස් කිරීම ඇපල් හැර වෙනත් පාර්ශවයන් SIP වළක්වයි:

/bin
/sbin
/usr
/System

සංවර්ධකයින්ට ප්‍රවේශ වීම සඳහා පහත සඳහන් නාමාවලි ලබා ගත හැකි බව ඇපල් විසින් පෙන්වා දී ඇත:

/usr/local
/Applications
/Library
~/Library

/usrහැර සෙසු සියලුම නාමාවලි /usr/localSIP මඟින් ආරක්ෂා කර ඇත.

ඇපල්ගේම සහතික අධිකාරිය විසින් අත්සන් කර ඇති ස්ථාපන පැකේජයක් හරහා SIP ආරක්ෂිත ගොනු සහ නාමාවලි එක් කිරීමට, ඉවත් කිරීමට හෝ වෙනස් කිරීමට හැකිය. පවත්නා SIP ආරක්ෂණ වෙනස් කිරීමකින් තොරව මෙහෙයුම් පද්ධතියේ SIP ආරක්ෂිත කොටස් වලට වෙනස්කම් කිරීමට මෙය ඇපල් සමාගමට ඉඩ දෙයි.

සැක සහිත සහතික අධිකාරිය ඇපල් විසින් ඔවුන්ගේ භාවිතය සඳහා වෙන් කර ඇත; සංවර්ධක හැඳුනුම්පත් අත්සන් කළ ස්ථාපක පැකේජවලට SIP ආරක්ෂිත ගොනු හෝ නාමාවලි වෙනස් කළ නොහැක.

කුමන ඩිරෙක්ටරි ආරක්ෂා කර ඇත්දැයි නිර්වචනය කිරීම සඳහා, ඇපල් විසින් ගොනු පද්ධතියේ වින්‍යාස ගොනු දෙකක් නිර්වචනය කර ඇත. ප්‍රාථමික එක පහත ස්ථානයේ ඇත:

/System/Library/Sandbox/rootless.conf

එහිදී rootless.confSIP ආරක්ෂා කරන සියලුම යෙදුම් සහ ඉහළ මට්ටමේ නාමාවලි ලැයිස්තුගත කරයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අයදුම්පත්

යෙදුම් සහ යෙදුම් උපයෝගිතා සඳහා OS X ස්ථාපනය කරන මූලික යෙදුම් SIP ආරක්ෂා කරයි. මෙයින් අදහස් කරන්නේ මූල වරප්‍රසාද භාවිතා කිරීමේදී විධාන රේඛාවෙන් පවා OS X ස්ථාපනය කරන යෙදුම් මකා දැමීමට තවදුරටත් නොහැකි බවයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

රූප විස්තරය මෙහි ඇතුළත් කරන්න

නාමාවලි

SIP පිටත ඩිරෙක්ටරි සහ සිම්ලින්ක් ගණනාවක් ද ආරක්ෂා කරන /Applicationsඅතර එම නාමාවලිවල ඉහළ මට්ටම ද ලැයිස්තුගත කර ඇත rootless.conf.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ආරක්ෂණ වලට අමතරව, ඇපල් විසින් rootless.conf ගොනුවේ SIP හි ආරක්ෂාව සඳහා සමහර ව්‍යතිරේක අර්ථ දක්වා ඇති අතර, එම ව්‍යතිරේක තරු ලකුණු කර ඇත. SIP හි ආරක්ෂාවෙන් මෙම නිදහස් කිරීම් වලින් අදහස් වන්නේ එම ස්ථාන තුළ ගොනු සහ නාමාවලි එක් කිරීමට, ඉවත් කිරීමට හෝ වෙනස් කිරීමට හැකි බවයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

එම ව්‍යතිරේකයන් අතර පහත දැක්වේ:

  • /System/Library/User Template - නව ගිණුම් සඳහා නිවාස ෆෝල්ඩර සෑදීමේදී OS X එය භාවිතා කරන අච්චු නාමාවලි ගබඩා කරයි.
  • /usr/libexec/cups - OS X මුද්‍රණ වින්‍යාස තොරතුරු ගබඩා කරයි

ඇපල් විසින් මෙම ගොනුව ඔවුන්ගේ යැයි සලකන අතර ඕනෑම තෙවන පාර්ශවයක් විසින් කරන ලද වෙනස්කම් ඇපල් විසින් නැවත ලියනු ලැබේ.

SIP මඟින් ආරක්ෂා කර ඇති ගොනු මොනවාදැයි බැලීමට, ටර්මිනලයේ Dash capital O සමඟ lsවිධානය භාවිතා කරන්න :

ls -O

SIP- ආරක්ෂිත ගොනු සීමිත ලෙස ලේබල් කරනු ලැබේ .

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැනගත යුතු එක් වැදගත් සිතුවිල්ලක් නම්, සිම් ලින්ක් එකක් SIP මගින් ආරක්‍ෂා කර තිබුණද, එයින් අදහස් කරන්නේ ඔවුන් සම්බන්ධ කරන නාමාවලිය SIP මගින් ආරක්‍ෂා වන බවයි. OS X El Capitan ඇරඹුම් ධාවකයේ මූල මට්ටමින්, නම් කරන ලද මූල මට්ටමේ නාමාවලිය තුළ ගබඩා කර ඇති නාමාවලි වෙත යොමු කරන SIP- ආරක්ෂිත සිම්ලින්ක් කිහිපයක් තිබේ private.

කෙසේ වෙතත්, privateනාමාවලියෙහි අන්තර්ගතය පරීක්ෂා කළ විට, එම සිම්ලින්ක්ස් පෙන්වා දෙන නාමාවලි SIP මගින් ආරක්‍ෂා නොවන අතර ඒවා සහ ඒවායේ අන්තර්ගතයන් මූල වරප්‍රසාද භාවිතා කරමින් ක්‍රියාවලි මගින් ගෙනයාමට, සංස්කරණය කිරීමට හෝ වෙනස් කළ හැකිය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඇපල් විසින් සකසා ඇති rootless.confSIP ව්‍යතිරේක ලැයිස්තුවට අමතරව, SIP ව්‍යතිරේකයන්ගේ දෙවන ලැයිස්තුවක් ද ඇත. මෙම ලැයිස්තුවට තෙවන පාර්ශවීය නිෂ්පාදන සඳහා නාමාවලි සහ යෙදුම් නම් ගණනාවක් ඇතුළත් වේ. ඒ හා සමානව rootless.conf, මෙම බැහැර කිරීමේ ලැයිස්තුව ඇපල් සතු වන අතර ඕනෑම තෙවන පාර්ශවයක් විසින් කරන ලද වෙනස්කම් ඇපල් විසින් නැවත ලියනු ලැබේ.

/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths

ධාවන කාල ආරක්ෂාව

SIP හි ආරක්ෂණ ගොනු පද්ධති වෙනස්වීම් වලින් පද්ධතිය ආරක්ෂා කිරීමට පමණක් සීමා නොවේ. පද්ධති ඇමතුම් ද ඇත, ඒවා දැන් ඒවායේ ක්‍රියාකාරිත්වය තුළ සීමා කර ඇත.

  • task_for_pid () / processor_set_tasks () EPERM සමඟ අසමත් වේ
  • මැක් විශේෂ වරායන් ක්‍රියාත්මක වන්නේ (2)
  • dyld පරිසර විචල්‍යයන් නොසලකා හරිනු ලැබේ
  • DTrace ප්‍රොබ්ස් නොමැත

කෙසේ වෙතත්, SIP ඔවුන්ගේම යෙදුම් සංවර්ධනය කරන අතරතුර ඔවුන්ගේම සංවර්ධකයා විසින් පරීක්ෂා කිරීම අවහිර නොකරයි. සංවර්ධන ක්‍රියාවලියේදී යෙදුම් පරීක්ෂා කිරීමට සහ නිදොස්කරණය කිරීමට Xcode හි මෙවලම් දිගටම ඉඩ දෙනු ඇත.

මේ පිළිබඳ වැඩි විස්තර සඳහා, SIP සඳහා ඇපල් සමාගමේ සංවර්ධක ලියකියවිලි බැලීමට මම නිර්දේශ කරමි .

කර්නල් දිගු කිරීමේ ආරක්ෂාව

අත්සන් නොකළ කර්නල් දිගු ස්ථාපනය කිරීම SIP අවහිර කරයි. SIP සක්‍රීය කර ඇති OS X El Capitan හි කර්නල් දිගුවක් ස්ථාපනය කිරීම සඳහා, කර්නල් දිගුවක්:

  1. කෙක්ස්ට් සහතිකය අත්සන් කිරීම සඳහා සංවර්ධක හැඳුනුම්පතක් සමඟ අත්සන් කරන්න
  2. / පුස්තකාල / දිගු වලට ස්ථාපනය කරන්න

අත්සන් නොකළ කර්නල් දිගුවක් ස්ථාපනය කරන්නේ නම්, පළමුව SIP අක්‍රීය කළ යුතුය.

SIP කළමනාකරණය පිළිබඳ වැඩි විස්තර සඳහා කරුණාකර පහත සබැඳිය බලන්න:

පද්ධති අඛණ්ඩතාව ආරක්ෂා කිරීම - ඇපල් හි ආරක්ෂක ආකෘතියට තවත් තට්ටුවක් එක් කිරීම


4
තිරපිටපත් සරල පෙළ සමඟ ප්‍රතිස්ථාපනය කළ හැකි විට එය ඉතා හොඳ වේ, බලන්න: කේත සහ / හෝ දෝෂ වල තිර දර්ශන අධෛර්යමත් කරන්න .
kenorb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.