অনুশীলনটি প্রতি প্রয়োগের জন্য একজন ব্যবহারকারী এবং গোষ্ঠী তৈরি করা নয়, তবে প্রতি পরিষেবাতে। এটি হল যে প্রোগ্রামগুলি স্থানীয় ব্যবহারকারীর দ্বারা চালিত হয় সেগুলি রুট ব্যতীত অন্য কোনও ব্যবহারকারী হিসাবে ইনস্টল করার প্রয়োজন হয় না। এটি ডেমন , ব্যাকগ্রাউন্ডে চলমান প্রোগ্রাম এবং এটি নেটওয়ার্ক বা অন্যান্য যোগাযোগের মাধ্যমে আসা অনুরোধগুলি কার্যকর করে, এটি একটি ডেডিকেটেড ব্যবহারকারী হিসাবে চালানো উচিত।
ডেমন একটি উত্সর্গীকৃত ব্যবহারকারী হিসাবে চালিত হয় যাতে এটি যদি খারাপ আচরণ করে (কোনও বাগের কারণে সম্ভবত আক্রমণকারী দ্বারা চালিত হয়) তবে এটির ক্ষতির পরিমাণটি সীমাবদ্ধ রয়েছে: কেবলমাত্র ডিমনটির ডেটা ফাইলগুলি ক্ষতিগ্রস্থ হয় (যদি না আক্রমণকারী স্থানীয় রুটের ছিদ্রটি সন্ধান করতে সক্ষম হয় তবে) , যা ঘটতে পারে)। উদাহরণস্বরূপ, ডেটাবেস ডেমন mysqld
একটি ডেডিকেটেড ব্যবহারকারী এবং গোষ্ঠী হিসাবে চলে এবং ডাটাবেসের mysql:mysql
ডেটা ফাইলগুলি ( /var/lib/mysql/*
) এর সাথে সম্পর্কিত mysql:mysql
।
মনে রাখবেন যে ডেমন এক্সিকিউটেবল এবং অন্যান্য স্থিতিশীল ডেটা এবং কনফিগারেশন ফাইলগুলি ব্যবহৃত হয় তবে ডেমন দ্বারা সংশোধন করা উচিত নয় নিবেদিত ব্যবহারকারীর অন্তর্ভুক্ত থাকতে হবে; root:root
বেশিরভাগ প্রোগ্রাম এবং কনফিগারেশন ফাইলগুলির মতো এগুলির মালিকানা হওয়া উচিত । mysqld
প্রক্রিয়া প্রতিটি ব্যবসার মুছে যাওয়ার হয়েছে /usr/sbin/mysqld
বা /etc/mysql/my.cnf
তাই এই ফাইলগুলি করা উচিত নয়, mysql
ব্যবহারকারী বা দ্বারা লিখনযোগ্য হতে mysql
ব্যবহারকারী বা mysql
গ্রুপ। যদি কিছু ফাইল কেবল ডেমন এবং প্রশাসকের দ্বারা পঠনযোগ্য হয় তবে সেগুলি ব্যবহারকারী রুট এবং ডেডিকেটেড গ্রুপের মালিকানাধীন হওয়া উচিত এবং 0640 ( rw-r-----
) মোড থাকা উচিত ।
এক্সিকিউটেবলের একটি বিশেষ বিভাগ যা মালিকানার মালিকানাধীন নয় root:root
এমন প্রোগ্রামগুলি যা কোনও ব্যবহারকারী দ্বারা আহ্বান করা হয় তবে অতিরিক্ত সুযোগ-সুবিধা দিয়ে চালানো দরকার need এই এক্সিকিউটেবলগুলি অবশ্যই নির্ধারিত রুট হতে হবে যদি তাদের রুট হিসাবে চালানোর প্রয়োজন হয় (কমপক্ষে কিছু অংশে); তারপরে এক্সিকিউটেবলের অবশ্যই মোড 4755 ( rwsr-xr-x
) থাকতে হবে। প্রোগ্রামটি যদি অতিরিক্ত সুবিধাগুলি সহ প্রয়োজন হয় তবে মূল হিসাবে নয়, তবে প্রোগ্রামটি সেটগিড করা উচিত, যাতে অতিরিক্ত সুবিধাগুলি কোনও গ্রুপের মাধ্যমে আসে, ব্যবহারকারীর মাধ্যমে নয়। এক্সিকিউটেবলের তখন মোড 2755 ( rwxr-sr-x
) থাকে। কারণগুলি দ্বিগুণ:
- এক্সিকিউটেবলকে নিজেকে সংশোধন করার অনুমতি দেওয়া উচিত নয়, যাতে কোনও ব্যবহারকারী কোনও দুর্বলতা কাজে লাগাতে সক্ষম হন, তবে তারা প্রোগ্রাম দ্বারা ব্যবহৃত ডেটা ফাইলগুলি সংশোধন করতে সক্ষম হতে পারে তবে প্রোগ্রামটিতে চলমান অন্যান্য ব্যবহারকারীদের আক্রমণ করার জন্য এক্সিকিউটেবলের মধ্যে একটি ট্রোজান ঘোড়া ইনজেক্ট করতে পারে না might ।
- এক্সিকিউটেবলের ডেটা ফাইলটি গ্রুপের অন্তর্ভুক্ত। একটি বেসামরিক প্রোগ্রামের ব্যক্তিগত তথ্য ফাইলগুলি অ্যাক্সেস করতে ব্যবহারকারীর সাথে এবং কার্যকর ব্যবহারকারীর (প্রোগ্রামটি যে ব্যবহারকারী হিসাবে চালিত হচ্ছে) সাথে যোগাযোগ করার জন্য প্রকৃত ব্যবহারকারীর (প্রোগ্রামটি চালু করা ব্যবহারকারী) মধ্যে পরিবর্তন করতে হবে (এর কারণ অতিরিক্ত সুবিধা আছে)। একটি সেটগিড প্রোগ্রামটি কেবলমাত্র ব্যবহারকারীদের জন্য পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক পৃথক গোষ্ঠী (উদাহরণস্বরূপ ব্যবহারকারীর মালিকানাধীন ফাইলগুলি কেবলমাত্র ডিরেক্টরিতে এবং প্রোগ্রামের গোষ্ঠীতে অ্যাক্সেসযোগ্য) ডিরেক্টরিতে সংরক্ষণ করে) করতে পারে।