ফাইলগুলি /bin
(বা অন্য কোনও স্ট্যান্ডার্ড ডিরেক্টরিতে যেখানে এক্সিকিউটেবলগুলি রাখা আছে) রুট দ্বারা লিখনযোগ্য কিনা তা আসলেই কিছু যায় আসে না। আমি যে লিনাক্স সার্ভারটি ব্যবহার করছি সেগুলিতে এগুলি মূল দ্বারা লিখিত হয়, তবে আমার ওপেনবিএসডি মেশিনে তারা তা করে না।
যতক্ষণ না তারা গ্রুপ বা "অন্য" দ্বারা লিখিত না হয়!
সুরক্ষার কোনও সমস্যা নেই যেমন, উদা
-rwxr-xr-x 1 root root 126584 Feb 18 2016 /bin/ls
যদি কেউ এটিকে ওভাররাইট করতে চায় তবে তাদের মূল হতে হবে এবং যদি সেগুলি হয় root
এবং এটি মুছে ফেলা হয় তবে তারা হয়
- একটি নতুন সংস্করণ ইনস্টল করা, বা
- আনাড়ি, বা
- ইতিমধ্যে রুট অনুমতি সহ একটি আক্রমণকারী ।
আরেকটি বিষয় বিবেচনা করা উচিত হ'ল রুট ফাইলটিতে রাইটিং লিখতে পারে তা রক্ষিত কিনা তা সুরক্ষিত হোক না কেন, কারণ ... রুট।
এটিও লক্ষ করুন যে "স্ক্রিপ্ট" বাইনারি ফাইলের মতোই কার্যকর কার্যকর। একটি স্ক্রিপ্টের লেখার প্রয়োজন হয় না "কারণ এটি একটি পাঠ্য ফাইল"। যদি কিছু হয় তবে সম্ভবত এটি একই ডিরেক্টরিতে অন্যান্য এক্সিকিউটেবলের মতো একই অনুমতি থাকা উচিত।
এখনই প্রতিটি কিছুর অনুমতি পরিবর্তন করবেন না! এটি সমস্ত ধরণের সর্বনাশ ডেকে আনতে পারে এবং সম্ভাব্যতা সঠিকভাবে সেট করা আছে কিনা তা যাচাই করতে পারে এমন প্যাকেজ পরিচালকদের সম্ভাব্য বিভ্রান্ত করতে পারে। যদি আপনি কোনও সুরক্ষা-সমালোচনামূলক অ্যাপ্লিকেশনটিতে ভুলভাবে অনুমতিগুলি ভুলভাবে পরিবর্তন করেন তবে এটি সিস্টেমটিকে দুর্বল করে তুলতে পারে।
কেবলমাত্র ধরে নিন যে এক্সিকিউটেবলের অনুমতিগুলি সঠিকভাবে সেট করা আছে, যদি না আপনি সত্যিই অদ্ভুত কিছু দেখেন, তবে সেক্ষেত্রে আপনার সম্ভবত স্টাফ পরিবর্তন শুরু করার পরিবর্তে যাচাই করার জন্য প্রাসঙ্গিক প্যাকেজ পরিচালকের সাথে যোগাযোগ করা উচিত।
মন্তব্য এবং চ্যাট থেকে কিছু ইতিহাসের ডাক পড়ল was
লিনাক্সে বাইনারিগুলির অনুমতিগুলির ইতিহাস আমার সম্পর্কে কিছুই জানা নেই। এটি অনুমান করা যেতে পারে যে তারা কেবল ডিরেক্টরি থেকে umask
লিনাক্সের ডিফল্ট থেকে ডিরেক্টরি থেকে অনুমতিগুলি উত্তরাধিকার সূত্রে পেয়েছিল , তবে আমি সত্যি জানি না।
আমি কী জানি ওপেনবিএসডি ডিফল্টরূপে 555 অনুমতি মোডের সাহায্যে বেস সিস্টেম 1 এ বাইনারি ইনস্টল করে -r-xr-xr-x
। এটি একটি মেকফিল টুকরাতে নির্দিষ্ট করা হয়েছে /usr/share/mk/bsd.own.mk
যা BINMODE
555 এ সেট হয় (এটি ইতিমধ্যে সেট না করা থাকলে)। এটি পরে এক্সিকিউটেবলগুলি ইনস্টল করার সময় ব্যবহৃত make build
হয় /usr/src
।
আমি এই ফাইলটির জন্য টীকাযুক্ত সিভিএস লগটি দেখেছি এবং 1995 সালে নেটবিএসডি থেকে আমদানি করার পরে ফাইলটিতে এই লাইনটি অপরিবর্তিত রয়েছে।
নেটবিএসডি-তে, 1993 সালে ফাইলটি প্রথমবার সিভিএসে রাখা হয়েছিল , BINMODE
555 সেট করা হয়েছিল।
ফ্রিবিএসডি প্রকল্পটি কমপক্ষে ১৯৯৪ সাল থেকে নেটবিএসডি-র মতো একই ফাইলটি ব্যবহার করেছে বলে মনে হয়েছে এবং পরবর্তীকালে প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতিতে একটি ইঙ্গিত যুক্ত করা হয়েছে যে পুরাতন ফাইলগুলি বার্কলে সফটওয়্যার বিতরণের ৪.৪ বিএসডি প্রকাশের ছিল from
এর বাইরে, বার্কলে সিএসআরজি এসিসিসি-তে উত্সগুলি রেখেছিল তবে তাদের সংগ্রহশালা গিটহাব ২- এ গিট আকারে উপলব্ধ । আমরা যে ফাইলটি এখানে ফরেনসিক ট্রিটমেন্ট দিচ্ছি তা মনে হয় 1990 সালে কিথ বোস্টিক (বা তার নিকটবর্তী কেউ) দ্বারা প্রতিশ্রুতিবদ্ধ হয়েছিল ।
সুতরাং যে গল্প। যদি আপনি এটি কেন চান তবে আমি মনে করি আমাদের কিথকে জিজ্ঞাসা করতে হবে। আমি দয়া করে একটি পরিবর্তনের প্রতিশ্রুতিবদ্ধ বার্তাটি দেখার প্রত্যাশায় ছিলাম " এটি 555 হওয়া দরকার কারণ ... ", তবে তা নয়।
1 বিএসডি সিস্টেমে লিনাক্সের চেয়ে "বেস সিস্টেম" এবং "তৃতীয় পক্ষের প্যাকেজ" (পোর্ট / প্যাকেজ) তে আরও কঠোর বিভাগ রয়েছে। বেস সিস্টেমটি একটি সুসংহত ইউনিট যা অপারেটিং সিস্টেম চালনার জন্য সম্পূর্ণ সুযোগ সুবিধাগুলি সরবরাহ করে, যখন পোর্ট বা প্যাকেজগুলি "স্থানীয় সফ্টওয়্যার" হিসাবে দেখা হয় এবং এর অধীনে ইনস্টল করা হয় /usr/local
।
2 70 এর দশকের পর থেকে ইউনিক্স রিলিজের আরও বিস্তৃত গিটহাবের সংগ্রহশালাও উপলভ্য ।
root
বাইনারি ফাইলটিতে লেখার অনুমতি পেয়েছেন? আর কিছু না হলে প্যাকেজটি আপগ্রেড করার সময় এটি সহায়তা করবে।