কেন "chmod -R 777 /" ধ্বংসাত্মক?


255

এটি ফাইল অনুমতি সম্পর্কে কেনোনিকাল প্রশ্ন এবং কেন 777 "ধ্বংসাত্মক"।

আমি এই সমস্যাটি কীভাবে সমাধান করবেন তা জিজ্ঞাসা করছি না, কারণ ইতিমধ্যে সার্ভার ফল্ট (ওএস পুনরায় ইনস্টল করুন) এর মধ্যে প্রচুর উল্লেখ রয়েছে। কেন এটি বিনষ্টকারী কিছু করে?

আপনি যদি কখনও এই আদেশটি চালিয়ে যান তবে আপনি খুব শীঘ্রই আপনার অপারেটিং সিস্টেমটি ধ্বংস করে দিন। সীমাবদ্ধতা অপসারণের বিদ্যমান প্রক্রিয়াগুলিতে কেন কোনও প্রভাব আছে তা আমি পরিষ্কার করছি না। উদাহরণস্বরূপ, যদি আমার কোনওটিতে অ্যাক্সেস না পড়ে এবং টার্মিনালে একটি দ্রুত ভুল টাইপের পরে হঠাৎ আমার এখন ভালভাবে অ্যাক্সেস পেয়ে যায় ... তবে লিনাক্সটি কেন ভেঙে যায়?


2
আমি যখন এই প্রশ্নটি দেখেছি তখন আমার শ্বাস রইল।
আলিরিজা সাভান্দ

উত্তর:


344

প্রথমে একটি ছোটখাটো পরিভাষা নীটপিক: অনুমতিগুলি সরিয়েchmod দেয় না । এটি তাদের পরিবর্তন করে।


এখন ইস্যুটির মাংস - মোডের 777অর্থ "এই ফাইলটি যে কেউ পড়তে, লিখতে বা চালিত করতে পারে" - আপনি যে কারও কাছে হ্যাক চান তার (কার্যকরভাবে) করার অনুমতি দিয়েছেন

এখন, কেন এই খারাপ?

  1. আপনি কেবল প্রত্যেককে আপনার সিস্টেমে প্রতিটি ফাইল পড়তে / পরিবর্তন করতে দিয়েছেন।
    • পাসওয়ার্ড সুরক্ষা বিদায় চুম্বন (যে কেউ ছায়া ফাইলটি পড়তে পারে এবং আপনার পাসওয়ার্ডগুলি ক্র্যাক করতে পারে, তবে কেন বিরক্ত হবে? কেবল পাসওয়ার্ড পরিবর্তন করুন! এটি অনেক সহজ!)।
    • আপনার বাইনারিদের বিদায় জানাতে নিরাপত্তা চুম্বন করুন (কেউ কেবল একটি নতুন loginপ্রোগ্রাম লিখতে পারে যা তাদের প্রতিটি সময় দেয়)
    • আপনার ফাইলগুলিকে বিদায় চুম্বন করুন: একজন ব্যবহারকারী ভুল নির্দেশনা দেয় rm -r /এবং এটি শেষ over ওএসকে বলা হয়েছিল যে তারা যা চায় তাই করতে দাও!
  2. শুরু করার আগে ফাইলগুলিতে অনুমতি যাচাই করে এমন প্রতিটি প্রোগ্রাম আপনি হারিয়ে ফেলেছেন।
    sudo, sendmailএবং অন্যদের হোস্ট কেবল আর আরম্ভ করবে না। তারা কী ফাইলের অনুমতিগুলি যাচাই করবে, তারা যা অনুমান করা হচ্ছে তা তা নয় এবং ত্রুটি বার্তায় ফিরে যাবে।
    একইভাবে sshভয়াবহভাবে ভেঙে যাবে (মূল ফাইলগুলির অবশ্যই নির্দিষ্ট অনুমতি থাকতে হবে, অন্যথায় তারা "নিরাপত্তাহীন" এবং ডিফল্টরূপে এসএসএইচ সেগুলি ব্যবহার করতে অস্বীকার করবে))
  3. আপনি যে প্রোগ্রামগুলি রেখেছিলেন সেগুলিতে আপনি সেটআপড / সেটগিড বিটগুলি মুছে ফেলেছেন।
    মোড 777আসলে । যে নেতৃস্থানীয় অঙ্ক অনেক কিছু হল এবং বিট। বেশিরভাগ প্রোগ্রামগুলি সেটুইড / সেটজিডের বিট সেট থাকে কারণ তাদের অবশ্যই কিছু বিশেষ সুযোগ নিয়ে চালানো উচিত। তারা এখন ভেঙে গেছে।0777setuidsetgid
  4. আপনি যদি ভাঙ্গা থাকেন /tmpএবং/var/tmp যে নেতৃস্থানীয় অকট্যাল অঙ্ক যে zero'd পেয়েছিলাম অন্যান্য জিনিস sticky bit- ওটা যা ফাইল রক্ষা করে /tmp(এবং /var/tmp) যারা সেগুলির মালিক নন দ্বারা মুছে ফেলা হচ্ছে থেকে।
    সেখানে (দুর্ভাগ্যক্রমে) প্রচুর পরিমাণে খারাপ আচরণযুক্ত স্ক্রিপ্ট রয়েছে যা একটি "ক্লিন আপ" করে rm -r /tmp/*এবং স্টিকি বিট সেট /tmp না করেই আপনি সেই ডিরেক্টরিটিকে বিদায় জানাতে পারেন all
    স্ক্র্যাচ ফাইলগুলি অদৃশ্য হয়ে যাওয়া সত্যই কিছু খারাপ-লিখিত প্রোগ্রামগুলিকে বিরক্ত করতে পারে ...
  5. আপনি ব্যাপক ধ্বংস সৃষ্ট থাকেন /dev /procএবং অনুরূপ ফাইল সিস্টেম
    এই পুরোনো ইউনিক্স সিস্টেমে একটি বিষয় যেখানে বেশি /devএকটি বাস্তব ফাইলসিস্টেম, এবং কাপড় এটা রয়েছে দিয়ে তৈরি বিশেষ ফাইল mknodঅনুমতি পরিবর্তন যেমন পুনরায় বুট জুড়ে সংরক্ষিত হবে, কিন্তু কোনো সিস্টেমে আপনার ডিভাইসের অনুমতি পরিবর্তন করার ফলে স্পষ্ট সুরক্ষা ঝুঁকির (প্রত্যেকে প্রতিটি টিটিওয়াই পড়তে পারে) থেকে কার্নেল আতঙ্কের কম-স্পষ্ট সম্ভাব্য কারণগুলি থেকে যথেষ্ট সমস্যা হতে পারে।
    Credit to @Tonny for pointing out this possibility
  6. সকেট এবং পাইপগুলি ভেঙে যেতে পারে, বা অন্যান্য সমস্যা হতে পারে সকেট এবং পাইপগুলি সম্পূর্ণরূপে ভেঙে যেতে পারে, বা বিশ্ব-রচনার যোগ্য হওয়ার ফলস্বরূপ দূষিত ইনজেকশনের সংস্পর্শে আসতে পারে।
    Credit to @Tonny for pointing out this possibility
  7. আপনি আপনার সিস্টেমে প্রতিটি ফাইল এক্সিকিউটেবল তৈরি করেছি
    অনেক মানুষ আছে .তাদের মধ্যে PATHএনভায়রনমেন্ট ভেরিয়েবল (আপনি উচিত নয়!) - এটি একটি অপ্রীতিকর আশ্চর্য হিসাবে এখন কারণ যে কেউ সুবিধামত কমান্ড মত নামের একটি ফাইল ড্রপ করতে পারেন (বলতে পারে makeবা ls, এবং তাদের বিদ্বেষপূর্ণ কোডটি চালানোর জন্য আপনাকে শট করতে হবে।
    Credit to @RichHomolka for pointing out this possibility
  8. কিছু সিস্টেমে chmodঅ্যাক্সেস কন্ট্রোল তালিকাগুলি পুনরায় সেট করা হবে (এসিএল)
    এর অর্থ আপনি সর্বত্র অনুমতি নির্ধারণের পাশাপাশি আপনার সমস্ত এসিএলগুলি পুনরায় তৈরি করতে সক্ষম হতে পারেন (এবং আদেশটি ধ্বংসাত্মক হওয়ার প্রকৃত উদাহরণ)।
    Credit to @JamesYoungman for pointing out this possibility

ইতিমধ্যে চলমান সিস্টেমের অংশগুলি কি চালিয়ে যেতে থাকবে? সম্ভবত, কিছুক্ষণের জন্য
তবে পরের বার আপনার কোনও প্রোগ্রাম চালু করা, বা কোনও পরিষেবা পুনরায় চালু করা বা स्वर्गের উপরে আঘাতের জগতে আপনি যে বাক্সটি রেখেছেন তা পুনরায় চালু করতে নিষেধ করবে কারণ উপরের # 2 এবং # 3 তাদের কুরুচিপূর্ণ মাথাগুলি রিয়ার করবে।


1
কমপক্ষে কয়েকটি সিস্টেমে /tmpরিবুট হওয়ার পরে স্থির করা হবে। যদিও প্রচুর পরিমাণে অন্যান্য জিনিস ভাঙা দেখা যাচ্ছে। কমপক্ষে ভিএম-এ আমি কেবল এটির পরীক্ষা করেছি যা পুনরায় চালু হওয়ার /tmpঅনুমতিগুলি স্থির করে । একটি স্টার্টআপ স্ক্রিপ্টে অবশ্যই কোথাও কিছু থাকতে হবে।
জোরেডেচ

@Zoredache ব্যবহারকারী সিস্টেমে ' tmpfsসাধারণত নিজেদের ফিক্স, বেশী আছে ডিস্কে / tmp -র পরিবর্তে may (তাদের প্রারম্ভে স্ক্রিপ্ট উপর নির্ভর করে)
voretaq7

45
সেটুলইড এবং সেটজিডটি মুছে ফেলা হবে বলে নির্দেশ করার জন্য +1। এটি একটি বিশাল ধ্বংসাত্মক দিক। দৌড়তে চেষ্টা করুন find / -perms -4000 -type fএবং find / -perms -2000 -type fএই পতাকাগুলিতে নির্ভর করে এমন বিভিন্ন বাইনারিগুলি দেখুন।
কাইল স্মিথ

2
"কম foo.txt" এর মতো কিছু টাইপ করার ফলে নির্বাহযোগ্য বিট সেট না হয়েও চারপাশে lay.txt রাখার একটি ফাইল কার্যকর করা হবে না। আপনার কাছে ডিরেক্টরিটি কম থাকা দরকার t টেক্সটটি আপনার পথে ছিল এবং আপনাকে "less.txt foo.txt" টাইপ করতে হবে - সেখানে আসলে কোনও দুর্ঘটনা ঘটে না। এমনকি যদি আপনি শেল সমাপ্তি ব্যবহার করে থাকেন তবে এটি কম সময়ে থামবে এবং আপনাকে এখনও .txt যুক্ত করতে হবে। এক্সিকিউটেবল বিট সেট সহ একটি এলোমেলো পাঠ্য ফাইল কল করতে আপনাকে ./nameoffile.txt করতে হবে।
রিয়েল বিল

3
@Deji everyoneব্যবহারকারী যিনি ফাইলটির মালিক, গ্রুপ যা ফাইল মালিক ব্যবহারকারীদের, এবং ব্যবহারকারীদের ঐ মানদণ্ড পারেন পূরণ না সহ সেট ইউনিয়ন হিসেবে সংজ্ঞায়িত করা হয় (আক্ষরিক তিন অকট্যাল অনুমতি ডিজিটের: User, Group, এবং Other)। অন্য কথায় সিস্টেমটিতে অ্যাক্সেস সহ যে কোনও ব্যবহারকারী । (এই প্রসঙ্গে "অ্যাক্সেস" শেল অ্যাকাউন্ট হতে পারে, যা আমি সাধারণত এটিকে সম্বোধন করব তবে এটিতে একটি ওয়েব ফর্ম / সিজিআইয়ের মাধ্যমে অ্যাক্সেস অন্তর্ভুক্ত রয়েছে যা ডিস্কে ডেটা লেখে: wwwব্যবহারকারী এখন সিস্টেমে যে কোনও ফাইলকে লিখতে পারবেন , যার অর্থ এলোমেলো দর্শনার্থীরাও এটি করতে পারেন))
ভোরেটাক 7

102

একটি বড় বিষয় হ'ল ssh / sudo এর মতো অনেক সরঞ্জাম রয়েছে যা কী কনফিগার করা ফাইলগুলির জন্য ফাইল সিস্টেমের অনুমতি পরীক্ষা করে। যদি অনুমতিগুলি ভুল হয় তবে এই সরঞ্জামগুলি ব্যর্থ হওয়ার জন্য ডিজাইন করা হয়েছে, কারণ এটি একটি গুরুতর সুরক্ষা সমস্যা নির্দেশ করে। আমার ডেবিয়ান টেস্ট সিস্টেমে এবং সম্ভবত অন্যদের মধ্যে, লগইন করার ক্ষমতা ব্যর্থ হয়, সম্ভবত লগইন বাইনারি বা পিএএম-এর কিছুতে অনুমতি পরীক্ষা রয়েছে বলে।

সুতরাং সিস্টেমটি নষ্ট হয়ে গেছে এটি আসলেই নয় - অনুমতিগুলি ভুল হলে অবিলম্বে ব্যর্থ হওয়ার জন্য অনেক সরঞ্জাম তৈরি করা হয়েছে।

আপনি যদি কোনও সিস্টেমটি করার পরে পুনরায় chmod 777 -R /বুট করেন তবে এটি বুট হয়ে যাবে এবং আপনি এমন প্রক্রিয়াগুলি শুরু করতে পারেন যার স্পষ্ট অনুমতি চেক নেই। সুতরাং সিস্টেমটি সত্যিই মৃত নয়, কেবলমাত্র ডিজাইনের মাধ্যমে কিছুটা ব্যবহারযোগ্য ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.