যদি আমি উবুন্টু নামে একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করি root
তবে এটির কি স্বয়ংক্রিয়ভাবে রুটের অনুমতি থাকবে? সিস্টেম ভেঙে? ম্যাট্রিক্সে একটি বিঘ্ন ঘটানোর কারণ? কি হত?
যদি আমি উবুন্টু নামে একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করি root
তবে এটির কি স্বয়ংক্রিয়ভাবে রুটের অনুমতি থাকবে? সিস্টেম ভেঙে? ম্যাট্রিক্সে একটি বিঘ্ন ঘটানোর কারণ? কি হত?
উত্তর:
ব্যবহারকারীর নামগুলি অবশ্যই অনন্য হতে হবে, সুতরাং ওউন হাইনসের জবাব দ্বারা উল্লিখিত হিসাবে , আপনি এই ব্যবহারকারী তৈরি করতে সক্ষম হবেন না। তবে এখানে মূল বক্তব্যটি হ'ল সুপারভাইজার শক্তিগুলি (সমস্ত সম্ভাব্য অনুমতি) ব্যবহারকারী নাম দিয়ে দেওয়া হয় না root
, তবে ইউআইডি দ্বারা অনুমোদিত হয়।
ইউআইডি 0 সহ ব্যবহারকারী সুপারইউসার।
সুতরাং, ইউআইডি 0 সহ ব্যবহারকারীর যদি আলাদা নাম থাকে এবং আপনি একটি ব্যবহারকারী নামে পরিচিত তৈরি করেন root
তবে তাদের কোনও বিশেষ অবস্থান থাকবে না।
আমি আপনাকে মূল ট্যাগ উইকি রেফার করি !
root
। দুর্দান্ত ধারণা নয়, তবে সম্ভব। উদাহরণস্বরূপ, কেউ god
ইউআইডি সহ একটি সুপারইউজার অ্যাকাউন্ট তৈরি করতে পারে 0
এবং একজন সাধারণ ব্যবহারকারী root
ইউআইডি 1000
বা অন্য কোনও সংখ্যার সাথে ডাকে ।
এটি আপনাকে দেয় না কারণ ইতিমধ্যে একজন root
ব্যবহারকারী থাকবেন ।
তবে, যেমন ফ্লোরিয়ান ডিয়েচ মন্তব্যগুলিতে বলেছেন:
কিছু সরঞ্জাম অভিযোগ করবে তবে আপনি সর্বদা সম্পাদনা করতে পারেন
/etc/passwd
এবংetc/shadow
ম্যানুয়ালি নিজের নামের দ্বিতীয় ব্যবহারকারী তৈরি করতে পারেনroot
।
chown root file
?
প্রথমত, কীভাবে অন্যরা বলেছে, আপনি ইউআইডি 0 দিয়ে ব্যবহারকারীকে অন্য কোনও কিছুতে পরিবর্তন করেন। তারপরে আপনি মূলের নাম এবং একটি ইউআইডি 1000 এর পরে উচ্চতর একটি সাধারণ ব্যবহারকারী তৈরি করতে পারেন It এটি "সূক্ষ্ম" কাজ করবে। সমস্ত অনুমতি এবং মূল সিস্টেম ফাংশনগুলি ইউআইডি ব্যবহার করে এবং ব্যবহারকারীর নাম নয়। আসলে এটি লিনাক্স সিস্টেমকে শক্ত করার জন্য প্রথম ধাপ। (রুট অক্ষম করা অনেক ভাল তবে sudo এর আগে আমরা এটি করতাম)।
এখন কী হবে তা নিয়ে।
বেশিরভাগ সময় কিছুই হয় না। অনুমোদন বা প্রমাণীকরণের সাথে করণীয় সমস্ত সিস্টেম কলগুলি ইউআইডি ব্যবহার করে (যা আমি অবগত। এবং এটি কিছু সময় ধরে সেভাবেই ছিল। আপনার সিস্টেম যথারীতি চলতে থাকবে। সিস্টেম সরঞ্জামগুলি নতুন ব্যবহারকারীর নামকে প্রতিফলিত করবে, তবে সাধারণভাবে কাজ চালিয়ে যাবে। অন্য কথায় কনভেনশনে "রুট" এবং পাথরে সেট করা নেই।
এটি বলেছিল, আমি নিশ্চিত যে কিছু সরঞ্জাম এবং প্রোগ্রাম রয়েছে যা খারাপভাবে লেখা হয়েছে। $ USER পরিবেশের পরিবর্তনশীল পরীক্ষা করে এমন প্রোগ্রামগুলি ভুলভাবে কাজ করতে পারে। সাধারণত এগুলি স্ক্রিপ্ট এবং ছোট প্রকল্প হয়, তবে আপনি 6 বছর আগে এফডিস্কে একটি খারাপ প্রতিশ্রুতি রক্ষায় কিছুটা সময় ব্যয় করতে পারেন যা আপনাকে মাথা ব্যথা করে চলে।
এটি এমন কিছু যা আমি সারাজীবন করতাম। এটি একটি সহজ পদক্ষেপ ছিল এবং এটি "অনুমানযোগ্য ব্যবহারকারীর নাম" এর অধীনে আসে। যদিও আজ একই লক্ষ্য অর্জনের আরও অনেক ভাল উপায় রয়েছে।
অন্যরা যেমন ব্যাখ্যা করেছে, এটি ইউআইডি = 0 ব্যবহারকারীকে "পরাশক্তি" দেয়, ব্যবহারকারীর নাম "রুট" নয়। সুতরাং আপনি যদি কোনওভাবে "রুট" নামে পরিচিত অন্য কোনও ব্যবহারকারী তৈরি করতে সক্ষম হন (মূলটির নামকরণ / নাম মুছার পরে) - ব্যবহারকারীর সুপার-স্ট্যাটাস আপনি যে ইউআইডি দিয়েছিলেন তার উপর নির্ভর করবে।
যা আরও একটি আকর্ষণীয় ধারণা নিয়ে আসে: একই ইউআইডি সহ একাধিক ব্যবহারকারী থাকা (যা তাদেরকে ফাইল সিস্টেমের অনুমতিের দিক থেকে মূলত একই ব্যবহারকারী হিসাবে তৈরি করে তবে আলাদা, বলতে, শেল এবং হোম ডিরেক্টরি থাকতে দেয়) সম্পূর্ণরূপে সম্ভব। প্রকৃতপক্ষে, কিছু ইউনিক্স-এর মতো সিস্টেমে টুর (রুট ব্যাকওয়ার্ড) নামে আরও একটি সুপারভাইজার অ্যাকাউন্ট রয়েছে যা বিভিন্ন সেটিংস সহ দুটি সুপার-ব্যবহারকারীর অ্যাকাউন্ট রাখতে পারে।
হ্যাঁ, তাত্ত্বিকভাবে, একই ব্যবহারকারীর নাম বা একই আইডি সহ দু'জন ব্যবহারকারী থাকতে হবে না। এবং স্ট্যান্ডার্ড ইউটিলিটিগুলি নির্বোধ এবং আপনার জন্য এ জাতীয় ব্যবহারকারী তৈরি করবে না। তবে আপনি সর্বদা ম্যানুয়ালি সম্পাদনা করতে পারেন w
উদাহরণস্বরূপ, আমি করেছি:
$ sudo adduser root2 # created ordinary user
$ sudo vim /etc/passwd # edit last line, change 'root2' to 'root'.
$ sudo -u '#1002' id # 1002 is UID of new user, it's in last line of /etc/passwd
uid=1002(root) gid=1002(root2) группы=1002(root2)
আপনি দেখতে হিসাবে, আমরা এখন মূল! হ্যাঁ, এটি আসল মূল নয় (uid = 0 নয়) তবে এটি চারটি অক্ষর। চিত্তাকর্ষক এবং অকেজো।
এছাড়াও, আপনি অন্যান্য পরিবর্তন করতে পারেন। ব্যবহারকারীর নামটি যেমন রয়েছে তেমন ছেড়ে দিন (আপনার নাম বা মূল 2) তবে ইউআইডি পরিবর্তন করুন।
$ tail -n 1 /etc/passwd
root2:x:0:0:,,,:/home/root2:/bin/bash
(দেখুন, ইউআইডি এবং জিআইডি ক্ষেত্রগুলি শূন্য) এখন আপনার কাছে প্রায় (সন্দেহাতীত) ব্যবহারকারী নেই, প্রায় সন্দেহজনক ব্যবহারকারী নাম (বা আরও ভাল প্রভাবের জন্য ব্যবহারকারীর নাম 'জোন্ডো' তৈরি করুন) তবে বাস্তবে এই ব্যবহারকারীর কাছে পরাশক্তি রয়েছে!
$ fdisk /dev/sda
fdisk: unable to open /dev/sda: Permission denied
$ sudo -u root2 fdisk /dev/sda
Command (m for help):
যেমন আপনি দেখতে পাচ্ছেন, সাধারণ ব্যবহারকারী / ডিভ / এসডিএ এফডিস্ক্ক ব্যবহার করতে পারবেন না, তবে রুট 2 কিছু করতে পারে!
সিস্টেমটি হ্যাক হওয়ার পরে কখনও কখনও এই সহজ কৌশলটি ব্যাকডোর সরবরাহ করতে ব্যবহৃত হয়। এমনকি যদি আসল রুট তার কীগুলি / পাসওয়ার্ডগুলি পরিবর্তন করে, হ্যাকারের এখনও ইউআইডি = 0 দিয়ে অন্য ব্যবহারকারীর মাধ্যমে সিস্টেমে সম্পূর্ণ নিয়ন্ত্রণ থাকবে।
আসলে, ব্যবহারকারীর নাম 'রুট', বা uid = 0 নিজেই যাদু নয়। এটি কেবল সম্মেলনের বিষয়। এবং এটি সর্বদা সত্যও নয়। (এই প্রশ্নটি দেখুন: মূল অ্যাকাউন্টটিতে সর্বদা ইউআইডি / জিআইডি 0 থাকে? ) কার্নেল কোডটি যাদু। প্রকৃতপক্ষে, ইউজারস্পেস কোড নিজেই - রুট যা করতে পারে তা কিছুই করতে পারে না। এমনকি রুট হিসাবে রান যদি! রুট পাওয়ার কার্নেলের মধ্যে রয়েছে। উদাহরণস্বরূপ যদি আপনি "বিড়াল / ইত্যাদি / ছায়া" করেন (কেবল মূলটি সাধারণত এটি করতে পারে), / বিন / বিড়াল প্রোগ্রামটি লাইবসি ওপেন () ফাংশনটি কল করে যা এখনও ইউজারস্পেস কোড, এবং এই উন্মুক্ত () ফাংশনটি কার্নেলে সিস্টেম কল করে। তারপরে কার্নেল নিজেই সিদ্ধান্ত নেয় কী করতে হবে। উদাহরণস্বরূপ, কার্যকর ব্যবহারকারীর id == 0 থাকলে কার্নেল কিছু অপারেশন করতে পারে।
তত্ত্ব অনুসারে, আপনি যদি কার্নেলে কিছু কোড পরিবর্তন করেন এবং 'www-ডেটা' ব্যবহারকারীকে আলাদাভাবে পরিচালনা করেন - কিছু ক্রিয়াকলাপ কেবল 'www-ডেটা' ব্যবহারকারীর জন্য অনুমোদিত (এবং এমনকি রুট করার অনুমতিও নেই)।
বেশিরভাগ 'ব্যবহারকারী-বান্ধব' সরঞ্জামগুলি এর বিপরীতে পরীক্ষা করবে এবং আপনাকে ইতিমধ্যে নেওয়া একটি ব্যবহারকারীর নাম দিয়ে অ্যাকাউন্ট তৈরি করতে দিবে না।
আপনি যদি এটিকে বাইপাস করেন এবং ম্যানুয়ালি আপনার / ইত্যাদি / পাসডাব্লু এবং / ইত্যাদি / ছায়ায় একটি দ্বিতীয় মূল অ্যাকাউন্ট যুক্ত করেন তবে কোনটি ব্যবহৃত হবে, আমার ধারণা আপনি যদি এটির আগে বা পরে রাখেন তবে নির্ভর করে। ইউনিক্স সিস্টেমে থাকা সমস্ত ব্যবহারকারীর অ্যাকাউন্টের মতো, এটির নাম নির্বিশেষে যদি তার ইউআইডি শূন্য হয় তবে এটির সুপারসেসর অ্যাক্সেসও থাকবে।