আমি যে সমস্ত লিনাক্স সিস্টেমে পরিচালনা করেছি তার উপর, রুট অ্যাকাউন্টটির একটি জিআইডি এবং ইউআইডি থাকে 0 এটি কি নিশ্চিত, বা সিস্টেমটি রুটকে একটি আলাদা আইডি দেবে কি এটি সম্ভব?
আমি যে সমস্ত লিনাক্স সিস্টেমে পরিচালনা করেছি তার উপর, রুট অ্যাকাউন্টটির একটি জিআইডি এবং ইউআইডি থাকে 0 এটি কি নিশ্চিত, বা সিস্টেমটি রুটকে একটি আলাদা আইডি দেবে কি এটি সম্ভব?
উত্তর:
আপনার প্রশ্নের আসলে দুটি অংশ আছে।
লিনাক্সে কি সুপার-অ্যাকাউন্ট অ্যাকাউন্টের সর্বদা uid / gid 0/0 থাকে?
হ্যাঁ. হিসাবে দ্বারা নির্দিষ্ট করা হয় রিচ Homolka মধ্যে একটি মন্তব্য আছে, কার্নেল যা স্পষ্টভাবে ইউআইডি 0 চেক যখন রুট ব্যবহারকারী, যার মানে রুট সবসময় অন্তত আছে যে জন্য চেক করতে প্রয়োজন মধ্যে কোড আছে ইউআইডি 0।
Uid 0 ব্যবহারকারীর অ্যাকাউন্টের নাম কি সর্বদা
root
?
নং root
কেবলমাত্র একটি নাম, / ইত্যাদি / পাসডাব্লুড বা অন্য কোনও প্রমাণীকরণের দোকানে তালিকাভুক্ত। আপনি শুধু পাশাপাশি অ্যাকাউন্ট পেরেছিলাম admin
এবং OS নিজেই দেখাশোনা করবে না, কিন্তু কিছু অ্যাপ্লিকেশন কারণ তারা নামে একটি ছবি তৈরী অ্যাকাউন্ট বিদ্যমান আছে আশা বেশ ভালো নাও হতে পারে root
। ইউআইডি 0 অ্যাকাউন্টকে * নিক্সে কল root
করা একটি খুব দৃ strongly ়ভাবে অনুষ্ঠিত কনভেনশন, তবে এটি সিস্টেমের দ্বারা প্রয়োজনীয় নয় (যদিও এটি সম্ভবত কিছু সিস্টেমল্যান্ড সফ্টওয়্যার দ্বারা প্রয়োজন হতে পারে, সম্ভবত সিস্টেম প্রশাসনের ইউটিলিটিগুলি সহ)।
এটিও লক্ষণীয় যে, বিএসডিগুলিতে সায়মন রিখরারের নির্দেশ অনুসারে , প্রায়শই একটি দ্বিতীয় ইউআইডি 0 অ্যাকাউন্ট উপস্থিত থাকে , নামক কনভেনশন অনুসারে toor
(যা "মূল" হ'ল পিছনের দিকে বানান করা হয়, এবং বর্ণানুক্রমিক অনুসারে বাছাই করা তালিকার পরেও বর্ণিতভাবে আসে root
)। উদাহরণস্বরূপ, ফ্রিবিএসডি এটি ব্যবহার করে একটি রুট ব্যবহারকারীকে কাস্টমাইজড শেল সেটিংস সহ সরবরাহ করে, মূল ব্যবহারকারীকে ডিফল্ট শেল দিয়ে রেখে দেয় যা সিস্টেমের রুট পার্টিশনে (পুনরুদ্ধারের প্রয়োজনে কার্যকর) গ্যারান্টিযুক্ত থাকে।
root
এবং toor
উভয়ই থাকে
root
, সুতরাং যতক্ষণ না প্রমাণীকরণ স্টোরের লাইব্রেরিগুলি একই ইউআইডি সহ দু'জন ব্যবহারকারীকে বিভ্রান্ত না করে (কোনও ক্ষেত্রে বিএসডিরা এটি না করবে) উপায়, বা গ্রন্থাগারগুলি স্থির হয়ে যাবে)।
1) প্রশাসক সর্বদা uid == 0 থাকে This এটি কার্নেলে কোড করা হয়। এটি পরিবর্তন করতে কার্নেলের কিছু কোডিং লাগবে। এটির পক্ষে খুব একটা বক্তব্য নেই, তাই এটি করা হয়নি। উদাহরণস্বরূপ, অন্যান্য ইউনিক্সগুলির জন্য একই এনএফএস ভাগ করে নেওয়ার ক্ষেত্রে এটি বেমানান হবে।
2) uid 0 মূলত ম্যাপ করার দরকার নেই does সর্বোত্তম উদাহরণ হ'ল ফ্রিবিএসডি। এটির দুটি ইউআইডি == 0 অ্যাকাউন্ট রয়েছে, শেল হচ্ছে পার্থক্য। রুটে শেল / বিন / শ থাকে, এটি একটি সাধারণ শেল, যখন আপনার ডিস্কগুলি খারাপ হয় এবং আপনার fsck / usr প্রয়োজন হয় for টুর টিসিএস ব্যবহার করে যা অ-জরুরি অবস্থাগুলিতে অনেক বেশি কার্যকর, কারণ এতে ইতিহাস ইত্যাদির মতো জিনিস রয়েছে etc.
আরেকটি, আরও ব্যক্তিগত উদাহরণ; আমার একটি কাজ ছিল যেখানে এনআইএস-এর কাছে তাদের মূল সমতুল্য (যেমন uid = 0) অ্যাকাউন্ট ছিল। পাসওয়ার্ড, ফাঁকা! কারণ নতুন সিসাদমিন মেশিনে থাকা রুট পাসওয়ার্ডটি মনে করতে পারেনি। আমি স্পষ্ট কারণের জন্য এটি সম্পর্কে চিৎকার করেছি (সংজ্ঞায়িত এনআইএস পাসওয়ার্ডগুলি তাদের ফাঁকা ফাঁকা রাখতে পারে না)। আমি এই অ্যাকাউন্ট সম্পর্কে খুশি ছিল না।
এবং এটি সত্যিই এমন সিস্টেম নয় যা ইউড 0 দেয় যা মূল হয়, এটি আপনি it's আপনি এটি আমার পাসওডিডি ফাইলগুলি বা অন্যান্য নামকরণ ডিরেক্টরিগুলি (এনআইএস, এলডিএপ) ব্যবহার করে পরিবর্তন করেন তবে এটি সংকলিত হয় না / যদিও আপনার / / etc / পাসডাব্লুডে কমপক্ষে একটি ইউআইডি 0 অ্যাকাউন্ট থাকা উচিত, যেহেতু আপনার যখন সত্যই প্রয়োজন হবে তখন আপনার নেটওয়ার্কিং নাও থাকতে পারে ।
সুতরাং মূল সর্বদা uid 0 হয়, তবে uid 0 সর্বদা মূল হয় না।
ননস্টপ সার্ভারটি ব্যবহার করা সিস্টেমগুলির পক্ষে, ROOT_UID 0 নয় তবে 65535।
ওএসএস ব্যবহারকারী এবং গোষ্ঠীগুলি ওএসএস পরিবেশ সাধারণ ইউনিক্স ডিফল্ট ব্যবহারকারীর নাম এবং ব্যবহারকারীর আইডি সরবরাহ করে না যতক্ষণ না তারা স্পষ্টভাবে কোনও সাইট প্রশাসকের দ্বারা তৈরি না করা হয়। তবে সমতুল্য ওএসএস ব্যবহারকারীর নাম এবং ব্যবহারকারীর আইডি বিদ্যমান। উদাহরণস্বরূপ, সাধারণত UNIX ব্যবহারকারীর নাম রুট এবং 0 এর ব্যবহারকারী ID এর সাথে যুক্ত বিশেষাধিকারগুলি 65535 (সুপার আইডি) এর ওএসএস ব্যবহারকারী আইডি (ইউআইডি) এর জন্য বিদ্যমান, যা ব্যবহারকারী SUPER.SUPER এবং এর অন্যান্য নামগুলি।
Https://h20195.www2.hpe.com/V2/GetPDF.aspx/4AA4-6316ENW.pdf দেখুন
কোর্টিলগুলিতে, আপনি সেই মূল-uid.h শিরোলেখ ফাইলটি খুঁজে পেতে পারেন:
/* The user ID that always has appropriate privileges in the POSIX sense.
Copyright 2012-2016 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Written by Paul Eggert. */
#ifndef ROOT_UID_H_
#define ROOT_UID_H_
/* The user ID that always has appropriate privileges in the POSIX sense. */
#ifdef __TANDEM
# define ROOT_UID 65535
#else
# define ROOT_UID 0
#endif
#endif