“Chmod -R 777 /” විනාශකාරී වන්නේ ඇයි?


258

මෙය ගොනු අවසරය පිළිබඳ කැනොනිකල් ප්‍රශ්නයක් වන අතර 777 “විනාශකාරී” වන්නේ ඇයි .

මෙම ගැටළුව නිරාකරණය කරන්නේ කෙසේදැයි මම විමසන්නේ නැත, මන්දයත් මේ වන විටත් සර්වර් ෆෝල්ට් (මෙහෙයුම් පද්ධතිය නැවත ස්ථාපනය කරන්න) පිළිබඳ සඳහනක් තිබේ. එය කිසිසේත්ම විනාශකාරී දෙයක් කරන්නේ ඇයි?

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


2
මෙම ප්‍රශ්නය දුටු විට මම හුස්ම තබාගෙන සිටිමි.
අලිරේසා සැවාන්ඩ්

Answers:


348

පළමුවෙන්ම සුළු පාරිභාෂිත නට්පික්: අවසර ඉවත්chmod නොකරයි . එය වෙනස් ඒවා.


දැන් නිකුතුවේ මස් - මාදිලියේ 777තේරුම "ඕනෑම කෙනෙකුට මෙම ගොනුව කියවීමට, ලිවීමට හෝ ක්‍රියාත්මක කිරීමට හැකිය" - ඕනෑම කෙනෙකුට අවශ්‍ය ඕනෑම දෙයක් (effectively ලදායී ලෙස) කිරීමට ඔබ අවසර දී ඇත.

දැන්, මෙය නරක ඇයි?

  1. ඔබේ පද්ධතියේ සෑම ගොනුවක්ම කියවීමට / වෙනස් කිරීමට ඔබ සැමට ඉඩ දී ඇත.
    • මුරපදයේ ආරක්‍ෂිත සමුගැනීම් සිපගන්න (ඕනෑම කෙනෙකුට සෙවනැලි ගොනුව කියවා ඔබගේ මුරපද බිඳ දැමිය හැකිය, නමුත් කරදර වන්නේ ඇයි? මුරපදය වෙනස් කරන්න! එය වඩා පහසුය!).
    • ඔබගේ ද්විමය සමුගැනීමේ ආරක්ෂාව සිපගන්න (යමෙකුට loginසෑම විටම ඔවුන්ට ඉඩ දෙන නව වැඩසටහනක් ලිවිය හැකිය ).
    • ඔබගේ ලිපිගොනු සමුගන්න: එක් පරිශීලකයෙක් වැරදියට යොමු කරයි rm -r /, එය සියල්ල අවසන්. මෙහෙයුම් පද්ධතියට පවසා ඇත්තේ ඔවුන්ට අවශ්‍ය ඕනෑම දෙයක් කිරීමට ඉඩ දෙන ලෙසයි!
  2. ආරම්භ කිරීමට පෙර ලිපිගොනු වල අවසර පරීක්ෂා කරන සෑම වැඩසටහනක්ම ඔබ ඉවත් කර ඇත.
    sudo,, sendmailසහ තවත් බොහෝ අය තවදුරටත් ආරම්භ නොකරනු ඇත. ඔවුන් යතුරු ලිපිගොනු අවසරයන් පරීක්ෂා කරනු ඇත, ඒවා ඔවුන් විය යුතු දේ නොවන බව දැක දෝෂ පණිවිඩයක් ආපසු ලබා දෙනු ඇත.
    ඒ හා සමානව sshදරුණු ලෙස බිඳී යනු ඇත (යතුරු ලිපිගොනු වලට නිශ්චිත අවසර තිබිය යුතුය, එසේ නොමැති නම් ඒවා “අනාරක්ෂිත” වන අතර පෙරනිමියෙන් SSH ඒවා භාවිතා කිරීම ප්‍රතික්ෂේප කරනු ඇත.)
  3. ඔබ ඔවුන් සතුව තිබූ වැඩසටහන් වල සෙටූයිඩ් / සෙට්ජිඩ් බිටු අතුගා දමා ඇත.
    මාදිලිය 777ඇත්ත වශයෙන්ම . එම ප්‍රමුඛ ඉලක්කම්වල ඇති දේ අතර බිටු ද වේ. Setuid / setgid වන බොහෝ වැඩසටහන් එම වර්‍ගයන් සකසා ඇත්තේ ඒවා යම් වරප්‍රසාද සහිතව ක්‍රියාත්මක විය යුතු බැවිනි. ඒවා දැන් කැඩිලා.0777setuidsetgid
  4. ඔබ කැඩී /tmpගොස්/var/tmp ඇති අතර එම ප්‍රමුඛ අෂ්ටක ඉලක්කම් වල ශුන්‍යය ඇති අනෙක් දෙය නම් sticky bit- /tmp(සහ /var/tmp) හි ඇති ගොනු ඒවා අයිති නැති පුද්ගලයින් විසින් මකා දැමීමෙන් ආරක්ෂා කරයි .
    (අවාසනාවකට මෙන්) නරක ලෙස හැසිරුණු ස්ක්‍රිප්ට් ඕනෑ තරම් තිබේ, එය කිරීමෙන් "පිරිසිදු කරන්න" rm -r /tmp/*, සහ ඇලෙන සුළු බිට් එකක් නොමැතිව /tmp ඔබට එම නාමාවලියෙහි ඇති සියලුම ලිපිගොනු සිප ගත හැකිය.
    සීරීම් ලිපිගොනු අතුරුදහන් වීම නරක ලෙස ලියා ඇති සමහර වැඩසටහන් අවුල් කළ හැකිය ...
  5. ඔබ /dev /procහා සමාන ගොනු පද්ධති විනාශ කිරීමට හේතු වී ඇත
    මෙය /devසැබෑ ගොනු පද්ධතියක් වන පැරණි යුනික්ස් පද්ධතිවල වැඩි ගැටළුවක් වන අතර , එහි අඩංගු දෑ විශේෂ ගොනු සමඟ නිර්මාණය කර ඇත mknod, මන්ද අවසර වෙනස් කිරීම නැවත පණගැන්වීම් හරහා ආරක්ෂා වනු ඇත, නමුත් ඕනෑම පද්ධතියක ඔබගේ උපාංග අවසරයන් වෙනස් කිරීම මගින් පැහැදිලි ආරක්ෂක අවදානම් (සෑම ටීටීඅයි එකක්ම කියවිය හැකිය) සිට කර්නල් භීතිකාවකට අඩු පැහැදිලිව පෙනෙන විභව හේතු දක්වා සැලකිය යුතු ගැටළු ඇති කළ හැකිය.
    Credit to @Tonny for pointing out this possibility
  6. සොකට් සහ පයිප්ප කැඩී යා හැකිය, නැතහොත් වෙනත් ගැටළු ඇතිවිය හැකිය සොකට් සහ පයිප්ප සම්පූර්ණයෙන්ම කැඩී යා හැකිය, නැතහොත් ලෝක ලිවිය හැකි බවට පත්කිරීමේ ප්‍රති mal ලයක් ලෙස අනිෂ්ට එන්නත් වලට නිරාවරණය විය හැකිය.
    Credit to @Tonny for pointing out this possibility
  7. ඔබ ඔබේ පද්ධතිය මත සෑම ගොනු ක්රියාත්මක කළ තියෙනවා
    ගොඩක් අය ඇති .ඔවුන්ගේ PATHපරිසර විචල්ය (ඔබ නොකළ යුතු!) - (කියන්න මෙය දැන් ඕනෑම කෙනෙකුට පහසුවෙන්ම විධාන වැනි නම් ගොනුව හැකි ලෙස අප්රසන්න පුදුම ඇති විය හැක makeහෝ ls, සහ ඔවුන්ගේ අනිෂ්ට කේතය ක්‍රියාත්මක කිරීමට ඔබව පොළඹවන්න.
    Credit to @RichHomolka for pointing out this possibility
  8. සමහර පද්ධති වල chmodප්‍රවේශ පාලන ලැයිස්තු (ACLs) යළි පිහිටුවනු ඇත.
    මෙයින් අදහස් කරන්නේ සෑම තැනකම අවසරයන් නියම කිරීමට අමතරව ඔබේ සියලු ACL නැවත ප්‍රතිනිර්මාණය කිරීමට සිදුවනු ඇති බවයි (එය විධානය විනාශකාරී බවට සැබෑ උදාහරණයකි).
    Credit to @JamesYoungman for pointing out this possibility

දැනටමත් ක්‍රියාත්මක වන පද්ධතියේ කොටස් දිගටම ක්‍රියාත්මක වේද? බොහෝ විට, ටික කලකට.
නමුත් ඊළඟ වතාවේ ඔබට වැඩසටහනක් දියත් කිරීමට හෝ සේවාවක් නැවත ආරම්භ කිරීමට හෝ ස්වර්ගය තහනම් කර ඇති ලෝකයක් සඳහා ඔබ සිටින කොටුව නැවත ආරම්භ කිරීම තහනම් කර ඇති අතර ඉහත # 2 සහ # 3 ඔවුන්ගේ අවලස්සන හිස පිටුපසට ගෙන යනු ඇත.


1
අවම වශයෙන් සමහර පද්ධති /tmpනැවත පණගැන්වීමෙන් පසුව සවි කරනු ලැබේ. අනෙක් සෑම දෙයක්ම කැඩී ඇති බවක් පෙනෙන්නට තිබුණත්. අවම වශයෙන් වීඑම් හි මා එය පරීක්ෂා කර බැලූ විට නැවත පණගැන්වීම මඟින් /tmpඅවසරයන් සවි කර ඇත. ආරම්භක පිටපතක කොතැනක හෝ යමක් තිබිය යුතුය.
Zoredache

@Zoredache පද්ධති භාවිතය tmpfsසාමාන්යයෙන් තමන් විසින් අදාල කරුණ නිවැරදි, තැටි මත / tmp ඇති බව අය විය හැක (ඔවුන්ගේ ආරම්භක පිටපත් මත රඳා පවතී)
voretaq7

45
සෙටූයිඩ් සහ සෙට්ජිඩ් ඉවත් කරන බව පෙන්වා දීම සඳහා +1. මෙය අතිශය විනාශකාරී අංගයකි. ධාවනය කිරීමට උත්සාහ කරන්න find / -perms -4000 -type fසහ find / -perms -2000 -type fමෙම ධජ මත රඳා පවතින විවිධ ද්විමය දැකීමට.
කයිල් ස්මිත්

2
"අඩු foo.txt" වැනි දෙයක් ටයිප් කිරීමෙන්, ක්‍රියාත්මක කළ හැකි බිට් සැකසීම නොසලකා, less.txt නම් ගොනුවක් ක්‍රියාත්මක නොවේ. ඔබට less.txt බහලුම ඔබේ මාර්ගයේ තිබිය යුතු අතර ඔබට "less.txt foo.txt" ටයිප් කිරීමට සිදුවේ - ඇත්ත වශයෙන්ම එහි අහම්බයක් නොවේ. ඔබ ෂෙල් සම්පුර්ණ කිරීම භාවිතා කළත් එය අඩුවෙන් නතර වන අතර ඔබට තවමත් .txt එක් කිරීමට සිදුවේ. ක්‍රියාත්මක කළ හැකි බිට් කට්ටලයක් සහිත අහඹු පෙළ ගොනුවක් ඇමතීමට ඔබට ./nameoffile.txt කළ යුතුය.
නියම පනත් කෙටුම්පත

3
@Deji everyone(: වචනාර්ථයෙන් තුනක් octal අවසර ඉලක්කම් ගොනුව සම්මත කරන පරිශීලක, ගොනුව හිමි පිරිස පරිශීලකයන්, එක්කෝ එම නිර්ණායක සපුරාලීමට නැති පරිශීලකයන්ට ඇතුළු මාලාවක් සමිති ලෙස අර්ථ දක්වා ඇත User, Groupසහ Other). වෙනත් වචන වලින් කිවහොත් පද්ධතියට ප්‍රවේශය ඇති ඕනෑම පරිශීලකයෙක් . (මෙම සන්දර්භය තුළ "ප්‍රවේශය" යනු ෂෙල් ගිණුමක් විය හැකිය, එය මම සාමාන්‍යයෙන් ආමන්ත්‍රණය කරන ආකාරයයි, නමුත් එයට වෙබ් පෝරමයක් / සීජීඅයි හරහා ප්‍රවේශයද ඇතුළත් වන අතර එය තැටියට දත්ත ලියයි: wwwපරිශීලකයාට දැන් පද්ධතියේ ඕනෑම ගොනුවකට ලිවිය හැකිය , එයින් අදහස් කරන්නේ අහඹු අමුත්තන්ට ද හැකි බවයි.)
voretaq7

102

එක් ප්‍රධාන දෙයක් නම් යතුරු වින්‍යාස ගොනු සඳහා ගොනු පද්ධති අවසරයන් පරීක්ෂා කරන ssh / sudo වැනි බොහෝ මෙවලම් තිබීමයි. අවසරයන් වැරදියි නම්, මෙම මෙවලම් සැලසුම් කර ඇත්තේ අසාර්ථක වන පරිදි වන අතර මෙය බරපතල ආරක්ෂක ගැටළුවක් පෙන්නුම් කරයි. මගේ ඩේබියන් පරීක්ෂණ පද්ධතියේ සහ සමහර විට අනෙක් අයට, පිවිසීමේ හැකියාව අසමත් වේ, බොහෝ විට පිවිසුම් ද්විමය හෝ PAM හි යමක් අවසර චෙක්පත් ඇති නිසා විය හැකිය.

එබැවින් පද්ධතිය විනාශ වී ඇති බව ඇත්ත වශයෙන්ම නොවේ - බොහෝ මෙවලම් නිර්මාණය කර ඇත්තේ අවසරයන් වැරදී ඇති විට වහාම අසමත් වන ලෙස ය.

ඔබ එය කළ පසු පද්ධතියක් නැවත ආරම්භ කළහොත් chmod 777 -R /එය ආරම්භ වනු ඇති අතර පැහැදිලි අවසර චෙක්පත් නොමැති ක්‍රියාවලීන් ආරම්භ කළ හැකිය. ඒ නිසා පද්ධතිය නොවේ ඇත්තෙන්ම මිය ගිය, හුදෙක් තරමක් මෙවිට ය විසින් නිර්මාණය කිරීමට .

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.