জিআইডি বলতে কী বোঝায়?


14

জিআইডি বলতে আসলে কী বোঝায়?

আমি এটি গুগল করেছি এবং এটিই লিনাক্স.আউটআউট.কম বলেছেন:

প্রক্রিয়াটির জন্য গ্রুপ পরিচয় নম্বর। বৈধ গ্রুপ নম্বরগুলি /etc/groupএবং /etc/passwdফাইলের জিআইডি ক্ষেত্রে দেওয়া হয় । যখন একটি প্রক্রিয়া শুরু হয়, তখন এর জিআইডি তার মূল প্রক্রিয়ার জিআইডি সেট করা হয়।

  • তবে তার মানে কী?

আমার ফোল্ডারের জন্য আমার কাছে থাকা অনুমতিগুলি বর্তমানে রয়েছে 0755

আমি বুঝতে পারি যদি আমি মালিকের জন্য ইউআইডি সেট করি তবে এটি হবে 4755

আর আমি যদি গ্রুপটির জিআইডি সেট করি তবে তা হবে 2755

আমি যদি অন্যদের জন্য স্টিকি বিট সেট করি তবে তা হবে 1755

  • এই অনুমতিগুলি সেট করা কি আরও গুরুত্বপূর্ণ?

উত্তর:


27

প্রতিটি প্রক্রিয়া একটি ইউনিক্স-সদৃশ সিস্টেম, শুধু প্রতিটি ফাইল মত, (যেমন ব্যবহারকারী, হয় বাস্তব বা সিস্টেম "সিউডো-ব্যবহারকারী", একজন মালিক আছেন daemon, bin, man, ইত্যাদি) এবং একটি গ্রুপ মালিক বানিয়েছেন। কোনও ব্যবহারকারীর ফাইলগুলির জন্য গোষ্ঠীর মালিক সাধারণত সেই ব্যবহারকারীর প্রাথমিক গোষ্ঠী হয় এবং অনুরূপ ফ্যাশনে আপনি যে কোনও প্রক্রিয়া শুরু করেন তা সাধারণত আপনার ব্যবহারকারী আইডি এবং আপনার প্রাথমিক গ্রুপ আইডি দ্বারা মালিকানাধীন।

যদিও কখনও কখনও নির্দিষ্ট কমান্ডগুলি চালনার জন্য উন্নত সুযোগ সুবিধা থাকা প্রয়োজন তবে পূর্ণ প্রশাসনিক অধিকার দেওয়া বাঞ্ছনীয় নয়। উদাহরণস্বরূপ, passwdকমান্ডটি সিস্টেমের ছায়া পাসওয়ার্ড ফাইলটিতে অ্যাক্সেসের প্রয়োজন, যাতে এটি আপনার পাসওয়ার্ড আপডেট করতে পারে। স্পষ্টতই, আপনি প্রতিটি ব্যবহারকারীর রুট সুবিধাদি দিতে চান না, যাতে তারা তাদের পাসওয়ার্ডটি পুনরায় সেট করতে পারে - এটি নিঃসন্দেহে বিশৃঙ্খলার দিকে নিয়ে যায়! পরিবর্তে, ব্যবহারকারীদের নির্দিষ্ট কাজ সম্পাদনের জন্য অস্থায়ীভাবে উচ্চতর সুযোগ-সুবিধাগুলি দেওয়ার আরও একটি উপায় থাকা দরকার। সেটাইডিউড এবং এসটিজিআইডি বিটগুলির জন্য এটি। চিহ্নিত কমান্ডের প্রয়োগের সময়কালের জন্য, ব্যবহারকারীর সুবিধাগুলি সাময়িকভাবে বাড়ানোর জন্য কার্নেলকে বলার একটি উপায়। এক্সটেকটেবল ফাইলের মালিকের (সাধারণত সাধারণত) বিশেষাধিকার নিয়ে একটি SETUID বাইনারি কার্যকর করা হবেroot), এবং একটি SETGID বাইনারি এক্সিকিউটেবল ফাইলের গ্রুপ মালিকের গ্রুপ সুবিধার সাথে কার্যকর করা হবে। passwdকমান্ডের ক্ষেত্রে , যা rootSETUID এর অন্তর্ভুক্ত এবং এটি সাধারণ ব্যবহারকারীগণকে রুট সুবিধাগুলি দিয়ে কার্যকর করে একটি নিয়ন্ত্রিত এবং অনুমানযোগ্য পদ্ধতিতে পাসওয়ার্ড ফাইলের বিষয়বস্তুগুলিকে সরাসরি প্রভাবিত করতে দেয়। অনেক অন্যান্য হয় SETUIDউপর কমান্ড ইউনিক্স-সদৃশ ব্যবস্থা ( chsh, screen, ping, su, ইত্যাদি), যার মধ্যে সব উঁচু অধিকার প্রয়োজন সঠিকভাবে কাজ চালানোর জন্য। কয়েকটি SETGIDপ্রোগ্রাম রয়েছে, যেখানে কার্নেল অস্থায়ীভাবে প্রক্রিয়াটির জিআইডি পরিবর্তন করে, লগ ফাইলে অ্যাক্সেসের অনুমতি দেয় ইত্যাদি sendmailএই জাতীয় ইউটিলিটি।

sticky bitএকটি কিছুটা ভিন্ন উদ্দেশ্য করে তোলে। এর সর্বাধিক সাধারণ ব্যবহার হ'ল এটি নিশ্চিত করা যে কেবলমাত্র একটি ব্যবহারকারী অ্যাকাউন্ট যা কোনও ফাইল তৈরি করেছে তা মুছে ফেলতে পারে। /tmpডিরেক্টরি সম্পর্কে চিন্তা করুন । এটিতে খুব উদার অনুমতি রয়েছে, যা সেখানে যে কেউ ফাইল তৈরি করতে দেয়। এই ভাল, এবং ব্যবহারকারীদের প্রসেস (অস্থায়ী ফাইল তৈরি করতে পারবেন screen, sshইত্যাদি রাখা রাজ্যের তথ্য /tmp)। কোনও ব্যবহারকারীর টেম্প ফাইলগুলি সুরক্ষিত করার জন্য, /tmpস্টিকি বিট সেট করুন, যাতে কেবল আমি আমার ফাইলগুলি মুছতে পারি এবং কেবল আপনি নিজের মুছতে পারেন। অবশ্যই, রুট কিছু করতে পারে, তবে আমাদের আশা করতে হবে যে সিসাদমিনটি বিকৃত হয়নি!

সাধারণ ফাইলগুলির জন্য (এটি, এক্সিকিউটেবল ফাইলের জন্য নয়), SETUID / SETGID বিট সেট করার ক্ষেত্রে খুব কমই লক্ষ্য রয়েছে is কিছু সিস্টেমে ডিরেক্টরিতে SETGID ডিরেক্টরিতে তৈরি হওয়া নতুন ফাইলগুলির জন্য ডিফল্ট গ্রুপের মালিককে নিয়ন্ত্রণ করে।


2
আহ অসাধারণ, এর জন্য ধন্যবাদ। সুতরাং, স্টিকি বিট একটি ব্যক্তিগত (ব্যবহারকারী) অনুমতি মত? এই উত্তরটি ভাল শব্দযুক্ত এবং বোধগম্য ছিল।
কেভডোগ 777

1
ধন্যবাদ! স্টিকি বিট উদার অনুমতি সহ ডিরেক্টরিতে ফাইলগুলির জন্য একটু সুরক্ষা সরবরাহ করে। এটি কোনও প্রদত্ত ব্যবহারকারীর পক্ষে সত্যই সুনির্দিষ্ট নয়, কারণ একই ধরণের সুরক্ষা সমস্ত ফাইলের কাছেই সরবরাহ করা হয়, তা মালিক হোন না কেন। এটি কারও কাছে ফাইল তৈরির অনুমতি দেওয়ার একমাত্র উপায় এবং কেবল মালিকই তাদের ধ্বংস করতে পারে তা নিশ্চিত করার একটি উপায়।
ডি_বাই

+1, ডি_বাই, আপনি দয়া করে ডিরেক্টরিতে সেটগ্রিড বিট সেট করার জন্য একটি উদাহরণ ভাগ করতে পারেন। ধন্যবাদ
অঙ্কিত

1
@ অলকিট সোলারিসের অধীনে (এবং প্রায়শই অন্যরা - আমি কেবল * বিএসডি এবং সোলারিস ব্যবহার করি, যদিও) যদি সেটগিড বিট কোনও ডিরেক্টরিতে সেট করা থাকে তবে সেই ডিরেক্টরিতে অন্তর্ভুক্ত যে কোনও নতুন ফাইল ডিরেক্টরিতে একই গ্রুপের মালিক হবে এবং (ব্যবহারকারী চলমান) তৈরি প্রক্রিয়াটির প্রাথমিক গোষ্ঠীটির উত্তরাধিকারী হবে না।
ডি_বাই

3

আমি মনে করি আপনি একটি ফাইলের "এসজিআইডি" বিট বোঝাচ্ছেন, এটির জিআইডি এর মতো নয়।

আমার কম্পিউটারে একটি সাধারণ ফাইল এখানে রয়েছে (ls -l এর আউটপুট):

-rw-r----- 1 bristol    users 16 2012-07-23 11:36 file.txt
abbbcccddd <-- See explanation below.

যদি আপনি প্রথম 10 টি প্রতীক দেখেন,

(ক) -: এটি কেবল একটি সরল পুরানো ফাইল (কোনও ডিরেক্টরি, সিমিলিংক, পাইপ ইত্যাদির বিপরীতে ...)

(খ) আরডব্লিউ-: মালিক এই ফাইলটি পড়তে এবং লিখতে পারেন, তবে এটি কার্যকর করেন না। মালিকটি "ব্রিস্টল" হিসাবে আপনি পরের লাইনে দেখতে পাবেন।

(সি) r--: এই ফাইলটির গ্রুপের সদস্যগণ (উদাহরণস্বরূপ "ব্যবহারকারী") এর মালিক অন্য কোনও ব্যক্তি পড়তে পারে তবে এই ফাইলটি লিখতে বা চালিত করতে পারে না।

(d) ---: অন্য কেউ এই ফাইলটি অ্যাক্সেস করতে পারবেন না (অবশ্যই মূলটি বাদে)।

জিআইডি ফিল্ড হ'ল এটিই আপনাকে জানায় যে এই ফাইলটি কোন গ্রুপের অন্তর্ভুক্ত - এই ক্ষেত্রে "ব্যবহারকারী"।

আপনার বর্ণনার উপর ভিত্তি করে আপনি সম্ভবত যে ক্ষেত্রটি বোঝাতে চেয়েছিলেন সেটি হ'ল এসজিআইডি বিট এবং আমি এখানে আসার চেয়ে আরও ভাল ব্যাখ্যা এখানে দিতে পারি:

http://www.codecoffee.com/tipsforlinux/articles/028.html

সংক্ষিপ্ত সংস্করণটি হ'ল: যদি একটি এক্সিকিউটেবল ফাইলের এসজিআইডি বিট সেট থাকে, তবে যে কেউ এই গ্রুপে নেই তবে এই ফাইলটি কার্যকর করতে পারে প্রোগ্রামটি সঞ্চালনের সময় অস্থায়ীভাবে এই গোষ্ঠীর অধিকার অর্জন করে।

উদাহরণস্বরূপ, যদি আপনার একটি গ্রুপ "স্পুল" থাকে যা মুদ্রণ স্পুলার ডিরেক্টরিতে ফাইলগুলি পড়তে এবং লিখতে পারে তবে আপনি চাইছেন না যে এই ডিরেক্টরিতে কেবল কারও গোলমাল হতে পারে তবে আপনি চান যে তারা ফাইল মুদ্রণ করতে সক্ষম হবেন, আপনি এটি তৈরি করতে পারেন কিছু মুদ্রণ প্রোগ্রাম বা স্ক্রিপ্টে "স্পুল" গ্রুপ রয়েছে এবং এসজিআইডি বিট সেট করে এবং যখন কেউ এই প্রোগ্রামটি চালু করে, প্রোগ্রামটি এখন সম্পূর্ণরূপে অ্যাক্সেস না চালিয়ে ব্যক্তি চালনা ছাড়াই স্পোলার ডিরেক্টরিতে লিখতে পারে।


এটা ভাল, তার জন্য আপনাকে ধন্যবাদ। আমি অনুমতিগুলির অংশটি বুঝতে পারি, (abbbcccddd অংশ) - তবে আপনাকে ধন্যবাদ :)
কেভডোগ 777

আমি টিএমপি ফোল্ডারে আমার অনুমতিগুলি দেখেছি drwxrwxrwt .... 2 sys .... sys .... 1024 Jul 24 15:17 tmpকী abbbcccddt(চিঠি 'T') মানে কি? - আমি বুঝতে পারি যে "d = ডিরেক্টরি", "rwx = পড়ুন, লিখুন, সম্পাদন করুন"; তবে এর আগে আমি কখনও 'টি' দেখিনি। টিএমপি ফোল্ডারের জন্য এটি কি বিশেষ অনুমতি?
কেভডোগ 777

ছোট টি হ'ল "এক্সিকিউটেবল (এক্স) এবং স্টিকি বিট সেট"। এটি কেন / টেম্প্পে অনিয়মিত কেন তা ব্যাখ্যার জন্য উপরে দেখুন।
ব্রিস্টল

3

জিআইডি হ'ল, যেমনটি আপনি পেয়েছেন, একটি গোষ্ঠীর আইডি নম্বর। কোনও কিছু (একটি প্রক্রিয়া, একটি ফাইল, ইত্যাদি) এর সাথে যুক্ত (ব্যবহারকারী) গোষ্ঠীটি প্রকাশ করার জন্য ওএসের পক্ষে এটি একটি সহজ উপায়; সম্ভাব্য দীর্ঘ স্ট্রিং আইডেন্টিফায়ারের পরিবর্তে এটি একটি নির্দিষ্ট আকারের সংখ্যা হিসাবে প্রকাশ করা যেতে পারে।

চারটি অষ্টাল অঙ্কের একটি ফাইলের অনুমতি মানতে (উদাহরণস্বরূপ, 0755), তৃতীয় অঙ্কটি ফাইলটিতে গ্রুপের অনুমতিগুলি নির্দিষ্ট করে। আপনি যদি প্রথম সংখ্যাটি বাদ দেন তবে এটি দ্বিতীয় সংখ্যা যা গ্রুপটির অনুমতিগুলি নির্দিষ্ট করে। নোট করুন যে ফাইল এবং ডিরেক্টরিগুলি এক্ষেত্রে একই আচরণ করা হয় তবে প্রতিটি অনুমতি বিটের সঠিক অর্থ ডিরেক্টরিগুলির ক্ষেত্রে কিছুটা স্বজ্ঞাত নয়।

দুটি ধারণা সম্পর্কিত, কিন্তু খুব ভিন্ন উদ্দেশ্যে পরিবেশন করা হয়।

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

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