এই ব্যবহারকারীদের কখন তৈরি করা হয়েছিল?
আপনি যেগুলির উল্লেখ করেছেন সেগুলির ক্ষেত্রে, সেগুলি সিস্টেম ইনস্টলেশনতে তৈরি করা হয়েছিল। এই ব্যবহারকারীর অ্যাকাউন্টগুলি প্রচলিত, কিছু কিছু দশক আগের। সেগুলি মানসম্মতও হয়। লিনাক্স স্ট্যান্ডার্ড বেস এগুলিকে বিভক্ত করে:
- প্রয়োজনীয় মান ব্যবহারকারী অ্যাকাউন্ট
root
, bin
এবং daemon
; এবং
- ঐচ্ছিক মান ব্যবহারকারীর অ্যাকাউন্ট
adm
, lp
, sync
, shutdown
, halt
, mail
, news
, uucp
, operator
, man
, এবংnobody
অন্যান্য ব্যবহারকারীর অ্যাকাউন্ট যে এখানে উল্লেখ করা হয় - pulse
, avahi
, colord
, এবং Debian-exim
(py4on পাসওয়ার্ড ফাইল থেকে একটি চয়ন করতে) - আপনার পরের প্রশ্নে আমাদের আনা।
এগুলি কীভাবে নতুন প্রোগ্রাম ইনস্টল করা হচ্ছে সম্পর্কিত?
এই প্যাকেজগুলি ইনস্টল ও শুদ্ধ হওয়ার কারণে নন-স্ট্যান্ডার্ড ব্যবহারকারী অ্যাকাউন্টগুলি বিভিন্ন প্যাকেজগুলির জন্য "রক্ষণকারী স্ক্রিপ্টগুলি" তৈরি এবং ধ্বংস করে দেয়। প্যাকেজের তথাকথিত postinst
রক্ষণাবেক্ষণকারী স্ক্রিপ্ট দ্বারা একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হবে যা getent
ব্যবহারকারী অ্যাকাউন্টটি ইতিমধ্যে উপস্থিত রয়েছে কিনা তা দেখার জন্য এটি চালিত হয় এবং useradd
তা না থাকলে। তত্ত্ব এটি প্যাকেজের তথাকথিত দ্বারা মুছে ফেলা হবে postrm
রক্ষণাবেক্ষণকারী স্ক্রিপ্ট, চলমান userdel
।
অনুশীলনে, প্যাকেজগুলির জন্য ব্যবহারকারীর অ্যাকাউন্টগুলি মোছা হয় না। ফেডোরা উইকি (কিউভি) ব্যাখ্যা করে যে এটি জটিলতায় ভরাট হবে। কার্যকারণে এই যুক্তির উদাহরণের জন্য ডিবিয়ান বাগ # 646175 দেখুন , যেখানে এই অ্যাকাউন্টের আওতাধীন চলতে থাকা ডেমনের সমস্যাটি সমাধান করার জন্য প্যাকেজটি শুদ্ধ হওয়ার পরে কেবল ব্যবহারকারী অ্যাকাউন্টটি মুছে ফেলা না করার সিদ্ধান্ত নেওয়া হয়েছে rabbitmq
।
বিভিন্ন ইউআইডি দিয়ে কীভাবে এই প্রোগ্রামগুলি শুরু হয়েছিল?
ইউনিক্স এবং লিনাক্সের অধীনে, সুপারভাইজারের নেতৃত্বে চলমান একটি প্রক্রিয়া তার ব্যবহারকারীর অ্যাকাউন্টটি অন্য কোনও কিছুতে পরিবর্তন করতে পারে এবং একই প্রোগ্রাম চালিয়ে যেতে পারে, তবে বিপরীতটির অনুমতি নেই। (সেট-ইউআইডি প্রক্রিয়াটি অবশ্যই ব্যবহার করা উচিত))
ডমন ম্যানেজমেন্ট সিস্টেমটি সুপারভাইজার হিসাবে চলে। এর কনফিগারেশন ডেটা নির্দিষ্ট ব্যবহারকারীর অ্যাকাউন্টগুলির অধীনস্থ নির্দিষ্ট দমনগুলি নির্দিষ্ট করে:
- সিস্টেম 5
rc
এর সাথে স্ক্রিপ্টটিতে /etc/init.d
কোনও সহায়ক সরঞ্জাম যেমন start-stop-daemon
এর --chuid
বিকল্প ব্যবহার করে।
- একটি daemontools পরিবার সেবা পরিচালকের মাধ্যমে,
run
স্ক্রিপ্ট কল setuidgid
, s6-setuidgid
, chpst
, অথবা runuid
ব্যবহারকারীর অ্যাকাউন্ট নাম দিয়ে। Https://unix.stackexchange.com/a/179798/5132 এ এর উদাহরণ রয়েছে যা nagios
ব্যবহারকারীর অ্যাকাউন্টটি সেট করে ।
- আপস্টার্টের সাথে
setuid
একটি কাজের ফাইলে একটি পদ রয়েছে, এটি ব্যবহারকারীর অ্যাকাউন্টটি নির্দিষ্ট করে। এই প্রবণতা বিশেষ করে সূক্ষ্ম গ্রেইনড করা হয় না, এবং কখনও কখনও চায় কি এ বর্ণনা করা হয়েছে /superuser//a/723333/38062 ।
- সিস্টেমডের সাথে
User=
পরিষেবা ইউনিট ফাইলে একটি সেটিংস রয়েছে যা ব্যবহারকারীর অ্যাকাউন্টটি নির্দিষ্ট করে।
ডেমন ম্যানেজমেন্ট সিস্টেম যখন ডেমন হিসাবে কোনও প্রক্রিয়া তৈরি করে, এই প্রক্রিয়াগুলি সুপারউজার সুবিধাগুলি বাদ দেয় যাতে ডমন প্রক্রিয়াটি অনিবদ্ধ ব্যবহারকারী অ্যাকাউন্টের আওতায় চলে run
কেন এইভাবে ভাল ডমন পরিচালনা করা হয় তার যথেষ্ট দীর্ঘ ব্যাখ্যা রয়েছে । তবে আপনি কেন জিজ্ঞাসা করলেন না; কেবল কখন, কিভাবে এবং কোথা থেকে। Therefore একটি খুব সংক্ষিপ্ত মূল্য, তাই:
ইউনিক্স এবং লিনাক্স অপারেটিং সিস্টেমগুলি একে অপরের থেকে পৃথক পৃথক ব্যবহারকারীর অ্যাকাউন্টের অধীনে চলমান প্রক্রিয়াগুলি অন্তরক করে। Icallyতিহাসিকভাবে, যদি কেউ সুপারইউসার হিসাবে দমন করা দমনকে নিতে সক্ষম হয় তবে যে কেউ তার পছন্দমতো কিছু করতে পারে। অন্যদিকে, একটি অননুমোদিত অ্যাকাউন্টের তত্ত্বাবধানে পরিচালিত একটি ডেমন কেবলমাত্র ফাইল, ডিরেক্টরি, ডিভাইস এবং সেই প্রক্রিয়াগুলিতে অ্যাক্সেস করতে পারে যা অপ্রতিযুক্ত অ্যাকাউন্টটি করতে পারে। পারস্পরিক অবিশ্বাস্য ডমন প্রোগ্রামগুলির একটি সিস্টেম যা বিভিন্ন ব্যবহারকারীর অ্যাকাউন্টের অধীনে চলছে এবং একে অপরের (অভ্যন্তরীণ, বিশ্বাসযোগ্য) ফাইল / ডিরেক্টরি / প্রক্রিয়া / ডিভাইসগুলিতে অ্যাক্সেস / নিয়ন্ত্রণ করতে অক্ষম, তাই ক্র্যাক করা এতটা কঠিন।
আরও পড়া