মূল অ্যাকাউন্টটিতে সর্বদা ইউআইডি / জিআইডি 0 থাকে?


50

আমি যে সমস্ত লিনাক্স সিস্টেমে পরিচালনা করেছি তার উপর, রুট অ্যাকাউন্টটির একটি জিআইডি এবং ইউআইডি থাকে 0 এটি কি নিশ্চিত, বা সিস্টেমটি রুটকে একটি আলাদা আইডি দেবে কি এটি সম্ভব?


3
আইডি 0 এর সমস্ত অধিকার রয়েছে। প্রকৃত নাম (বা নামগুলি- একাধিক-) পৃথক হতে পারে। যেমন আমার সার্ভারে দুটি ইউআইডি 0 জন ব্যবহারকারী রয়েছে। একজনকে 'রুট' বলা হয়, একে 'টুর' বলা হয়।
হেনেস

উত্তর:


80

আপনার প্রশ্নের আসলে দুটি অংশ আছে।

লিনাক্সে কি সুপার-অ্যাকাউন্ট অ্যাকাউন্টের সর্বদা uid / gid 0/0 থাকে?

হ্যাঁ. হিসাবে দ্বারা নির্দিষ্ট করা হয় রিচ Homolka মধ্যে একটি মন্তব্য আছে, কার্নেল যা স্পষ্টভাবে ইউআইডি 0 চেক যখন রুট ব্যবহারকারী, যার মানে রুট সবসময় অন্তত আছে যে জন্য চেক করতে প্রয়োজন মধ্যে কোড আছে ইউআইডি 0।

Uid 0 ব্যবহারকারীর অ্যাকাউন্টের নাম কি সর্বদা root?

নং root কেবলমাত্র একটি নাম, / ইত্যাদি / পাসডাব্লুড বা অন্য কোনও প্রমাণীকরণের দোকানে তালিকাভুক্ত। আপনি শুধু পাশাপাশি অ্যাকাউন্ট পেরেছিলাম adminএবং OS নিজেই দেখাশোনা করবে না, কিন্তু কিছু অ্যাপ্লিকেশন কারণ তারা নামে একটি ছবি তৈরী অ্যাকাউন্ট বিদ্যমান আছে আশা বেশ ভালো নাও হতে পারে root। ইউআইডি 0 অ্যাকাউন্টকে * নিক্সে কল rootকরা একটি খুব দৃ strongly ়ভাবে অনুষ্ঠিত কনভেনশন, তবে এটি সিস্টেমের দ্বারা প্রয়োজনীয় নয় (যদিও এটি সম্ভবত কিছু সিস্টেমল্যান্ড সফ্টওয়্যার দ্বারা প্রয়োজন হতে পারে, সম্ভবত সিস্টেম প্রশাসনের ইউটিলিটিগুলি সহ)।

এটিও লক্ষণীয় যে, বিএসডিগুলিতে সায়মন রিখরারের নির্দেশ অনুসারে , প্রায়শই একটি দ্বিতীয় ইউআইডি 0 অ্যাকাউন্ট উপস্থিত থাকে , নামক কনভেনশন অনুসারে toor(যা "মূল" হ'ল পিছনের দিকে বানান করা হয়, এবং বর্ণানুক্রমিক অনুসারে বাছাই করা তালিকার পরেও বর্ণিতভাবে আসে root)। উদাহরণস্বরূপ, ফ্রিবিএসডি এটি ব্যবহার করে একটি রুট ব্যবহারকারীকে কাস্টমাইজড শেল সেটিংস সহ সরবরাহ করে, মূল ব্যবহারকারীকে ডিফল্ট শেল দিয়ে রেখে দেয় যা সিস্টেমের রুট পার্টিশনে (পুনরুদ্ধারের প্রয়োজনে কার্যকর) গ্যারান্টিযুক্ত থাকে।


15
রুটটি পরীক্ষা করার জন্য কার্নেলের কোড রয়েছে, uid == 0 হ্যাঁ, এটি হার্ড কোডড এবং স্থায়ী।
ধনী হোমোলকা

1
বিএসডির সাধারণত ইউআইডি 0 থাকে rootএবং toorউভয়ই থাকে
সাইমন রিখটার

@ সিমোনরিচটার ক্ষেত্রে নামের সাথে একটি সুপারসউজার অ্যাকাউন্ট উপস্থিত রয়েছে root, সুতরাং যতক্ষণ না প্রমাণীকরণ স্টোরের লাইব্রেরিগুলি একই ইউআইডি সহ দু'জন ব্যবহারকারীকে বিভ্রান্ত না করে (কোনও ক্ষেত্রে বিএসডিরা এটি না করবে) উপায়, বা গ্রন্থাগারগুলি স্থির হয়ে যাবে)।
একটি সিভিএন

কার্নেলের মধ্যে কোড রয়েছে যা ইউআইডি = 0 টি মূলের প্রতিনিধি হিসাবে ব্যবহার করে এবং "রুট_ইইড" নামক ভেরিয়েবলগুলিতে সঞ্চয় করে তবে আমি কিছুই পাইনি (6 বছর পরে) যা ব্যবহারকারীর "রুট" নামকরণের উপর নির্ভর করে । ইউআইডি / etc / পাসডাব্লুডে রয়েছে কিনা, যদিও চূড়ান্তভাবে ডাব্লু / ইউআইডি = 0 চালু হবে। :)
ড্যানিসাউয়ার

15

1) প্রশাসক সর্বদা uid == 0 থাকে This এটি কার্নেলে কোড করা হয়। এটি পরিবর্তন করতে কার্নেলের কিছু কোডিং লাগবে। এটির পক্ষে খুব একটা বক্তব্য নেই, তাই এটি করা হয়নি। উদাহরণস্বরূপ, অন্যান্য ইউনিক্সগুলির জন্য একই এনএফএস ভাগ করে নেওয়ার ক্ষেত্রে এটি বেমানান হবে।

2) uid 0 মূলত ম্যাপ করার দরকার নেই does সর্বোত্তম উদাহরণ হ'ল ফ্রিবিএসডি। এটির দুটি ইউআইডি == 0 অ্যাকাউন্ট রয়েছে, শেল হচ্ছে পার্থক্য। রুটে শেল / বিন / শ থাকে, এটি একটি সাধারণ শেল, যখন আপনার ডিস্কগুলি খারাপ হয় এবং আপনার fsck / usr প্রয়োজন হয় for টুর টিসিএস ব্যবহার করে যা অ-জরুরি অবস্থাগুলিতে অনেক বেশি কার্যকর, কারণ এতে ইতিহাস ইত্যাদির মতো জিনিস রয়েছে etc.

আরেকটি, আরও ব্যক্তিগত উদাহরণ; আমার একটি কাজ ছিল যেখানে এনআইএস-এর কাছে তাদের মূল সমতুল্য (যেমন uid = 0) অ্যাকাউন্ট ছিল। পাসওয়ার্ড, ফাঁকা! কারণ নতুন সিসাদমিন মেশিনে থাকা রুট পাসওয়ার্ডটি মনে করতে পারেনি। আমি স্পষ্ট কারণের জন্য এটি সম্পর্কে চিৎকার করেছি (সংজ্ঞায়িত এনআইএস পাসওয়ার্ডগুলি তাদের ফাঁকা ফাঁকা রাখতে পারে না)। আমি এই অ্যাকাউন্ট সম্পর্কে খুশি ছিল না।

এবং এটি সত্যিই এমন সিস্টেম নয় যা ইউড 0 দেয় যা মূল হয়, এটি আপনি it's আপনি এটি আমার পাসওডিডি ফাইলগুলি বা অন্যান্য নামকরণ ডিরেক্টরিগুলি (এনআইএস, এলডিএপ) ব্যবহার করে পরিবর্তন করেন তবে এটি সংকলিত হয় না / যদিও আপনার / / etc / পাসডাব্লুডে কমপক্ষে একটি ইউআইডি 0 অ্যাকাউন্ট থাকা উচিত, যেহেতু আপনার যখন সত্যই প্রয়োজন হবে তখন আপনার নেটওয়ার্কিং নাও থাকতে পারে ।

সুতরাং মূল সর্বদা uid 0 হয়, তবে uid 0 সর্বদা মূল হয় না।


1
ওফ, কেবলমাত্র একটি গ্রহণযোগ্য উত্তর বেছে নেওয়ার বেদনা ...
তানাকী

5
@ তানাকী সাধারণত, আপনার প্রশ্নের উত্তর দিতে আপনাকে সবচেয়ে বেশি সহায়তা করে এমন উত্তরটি "গ্রহণ করুন" এবং আপনাকে দরকারী বলে মনে করা সমস্ত উত্তরকে উচ্চারণ করুন। সর্বাধিক ভোটের বা প্রথম-লিখিত উত্তর আপনাকে গ্রহণ করতে হবে বলে কিছু নেই।
একটি সিভিএন

1

ননস্টপ সার্ভারটি ব্যবহার করা সিস্টেমগুলির পক্ষে, 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.