আমি বর্তমানে ব্যবহারকারী হিসাবে লগ ইন থাকলে `গোষ্ঠীগুলি থেকে আউটপুট` গোষ্ঠী ব্যবহারকারীর থেকে পৃথক কেন হয়?


21

আমি নিশ্চিত না কেন নীচের আলাদা আউটপুট রয়েছে। আমার বোধগম্যতা হল যে বর্তমানে ব্যবহারকারীরা লগ ইন করা সমস্ত গ্রুপকে কোনও ব্যবহারকারী নির্দিষ্ট করে না দিয়ে গোষ্ঠীগুলি।

jacob@box:~$ groups
jacob adm lp dialout cdrom plugdev lpadmin sambashare

jacob@box:~$ groups jacob
jacob : jacob

এছাড়াও "বর্তমান প্রক্রিয়ার গ্রুপগুলি" (গ্রুপ ম্যান পৃষ্ঠা থেকে) এর অর্থ কী? তারা কোথায় স্থাপন করা হয়?

দ্রষ্টব্য: আমার ডিস্ট্রো উবুন্টু।


@Jake লগ আউট ফিরে তারপর চেষ্টা করুন এবং।

1
আমি বিপরীতে এই সমস্যা হচ্ছে। 'গোষ্ঠী মাইনেম' আমাকে / ইত্যাদি / গ্রুপ ফাইলে থাকা সমস্ত গ্রুপ দেয় তবে কেবল 'গোষ্ঠী' করা আমাকে কেবল আমার প্রাথমিক গোষ্ঠীটি দেখায়। এবং, প্রকৃতপক্ষে, কমান্ডগুলির জন্য যা প্রয়োজন হয় যে আমি একটি নির্দিষ্ট পরিপূরক গোষ্ঠীতে রয়েছি অনুমতিগুলির অভাবে ব্যর্থ। অবশ্যই আশা করি আমি জানতাম যে এর কারণ কী।
টড ওয়ালটন

উত্তর:


11

এটি নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

  • এটি একটি বাগ হতে পারে (যদিও আমি এটি সন্দেহ করি)
  • আপনাকে আবার লগআউট এবং লগইন করতে হতে পারে

গ্রুপগুলি সেট করা আছে /etc/group


8

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

আপনি যখন groupsকোনও যুক্তি ছাড়াই চালনা করেন, শেষ পর্যন্ত এটি কার্নেল থেকে পরিপূরক গোষ্ঠী তালিকা পেতে getgroups () কে আহ্বান করে। (আমার লিনাক্স সিস্টেমে, / usr / bin / গ্রুপ হ'ল একটি শেল স্ক্রিপ্ট যা "id -Gn" চালায়, যার ফলস্বরূপ getgroups () আহ্বান জানানো হয়।)

আপনি যখন রান করবেন তখন groups usernameকমান্ডটি "অনুমান" করতে হবে যে ব্যবহারকারীর লগ ইন করার সময় পরিপূরক গোষ্ঠীগুলি কী হবে It এটি সাধারণত / ইত্যাদি / গ্রুপ পড়ে বা এনআইএসের সাথে কথা বলার মাধ্যমে বা এনএসসিডি বা সাথে কথা বলার মাধ্যমে করে ... ঠিক আছে, এখানে একটি রয়েছে এটি কাজ করতে পারে অনেক উপায়।

আপনি যা পর্যবেক্ষণ করছেন তা আবিষ্কারের সাথে মিল রয়েছে যে আপনার বর্তমান প্রকৃত ব্যবহারকারীর আইডি এবং আপনার / ইত্যাদি / পাসডাব্লুডিতে প্রবেশের বিষয়টি বেমানান। এর অর্থ আপনার সিস্টেমের কনফিগারেশনটি সম্পর্কে কিছুটা অদ্ভুত বিষয় রয়েছে তবে আরও তদন্ত না করে কী বলা শক্ত।


3

(মন্তব্য: groupsকমান্ডটি যদিও এখনও কার্যকর, বেশিরভাগ আইডি কমান্ড দ্বারা বহিষ্কার করা হয়েছে ))

একজন ব্যবহারকারীর একটি প্রাথমিক গোষ্ঠী রয়েছে যা traditionতিহ্যগতভাবে ফাইল /etc/passwdফাইলে সংজ্ঞায়িত করা হয় যার সাথে সে লগ ইন করে, তবে আজ তার অন্য উত্স থাকতে পারে। তিনি অতিরিক্ত গ্রুপগুলির সদস্যও হতে পারেন, যা মাধ্যমিক বা পরিপূরক গোষ্ঠী হিসাবে পরিচিত, traditionতিহ্যবাহীভাবে ফাইলটিতে নির্দিষ্ট করা হয়েছে /etc/groups, তবে যা আজ অতিরিক্ত উত্স (যেমন এনআইএস, এলডিএপি, সাম্বা ইত্যাদি) থেকেও আসতে পারে বা বোঝানো যেতে পারে।

প্রাথমিক এবং পরিপূরক গোষ্ঠীগুলি লগইনের সময় সংজ্ঞায়িত হয় এবং বর্তমান থাকে । তবে, ব্যবহারকারী যে কোনও সময় কমান্ডটি ব্যবহার করে তার বর্তমান সক্রিয় প্রাথমিক গোষ্ঠী পরিবর্তন করতে পারে newgrp

লগইন প্রক্রিয়া প্রাথমিক এবং পরিপূরক গোষ্ঠীগুলি সেট করে। পরবর্তীকালে, এটি সাধারণত libc ফাংশন initgroups বলে , যা পরিপূরক গ্রুপের ডেটাগুলির তালিকা সংকলন করে সেটগ্রুপ ফাংশনে প্রেরণ করে, যা প্রক্রিয়াটির প্রসঙ্গে এটি প্রতিষ্ঠিত করে।

তথ্যের উত্স হ'ল initgroups:

জিএনইউ সি লাইব্রেরি এবং অন্যান্য কয়েকটি অ্যাপ্লিকেশন ব্যবহার করে উত্স নির্ধারণ করতে যেগুলি থেকে বিভিন্ন বিভাগে নাম-পরিষেবার তথ্য প্রাপ্ত করা যেতে পারে এবং কোন ক্রমে determine প্রতিটি বিভাগের তথ্য একটি ডাটাবেসের নাম দ্বারা চিহ্নিত করা হয়।

groupsকমান্ড শো গ্রুপ হিসাবে বর্তমানে প্রয়োগ আপনার ব্যবহারকারী, এবং তালিকা দিয়ে শুরু করবো বর্তমান প্রাথমিক গ্রুপ লগইন এর সময় থেকে সম্পূরক গ্রুপ করে। লগইন হওয়ার পরে ডেটা উত্সে যে কোনও পরিবর্তন প্রদর্শিত তালিকাতে প্রতিফলিত হয় না।

groups usernameকমান্ড লিনাক্স জিজ্ঞাসা করা হয় নিরূপণ ব্যবহারকারী, যা এটি প্রধানত ফাইল ব্যবহার করে তা করতে হবে গ্রুপ /etc/password এবং /etc/groupsএবং তারপর অতিরিক্ত সূত্র। এটি সিস্টেম ফাইলগুলির বর্তমান পরিস্থিতির প্রতিফলন করবে এবং লগইন হওয়ার সময় থেকে এখনও কার্যকর থাকা বর্তমান গ্রুপগুলির সমান হতে পারে না ।

groups usernameযখন এটি সব সূত্র লগইন প্রক্রিয়া আপনার সম্পূরক গ্রুপ, যা আপাতদৃষ্টিতে আপনার ক্ষেত্রে কি ঘটেছে নিরূপণ করতে ব্যবহৃত ব্যবহার করে না কমান্ড একটি ভিন্ন ফলাফলের দিতে পারে। এই উত্সগুলি আপনার লগইন থেকে অ্যাক্সেসযোগ্য না হতে পারে বা কেবল আদেশ দ্বারা পরামর্শ নেওয়া যেতে পারে না।

id usernameলগইন প্রক্রিয়া হিসাবে সম্পূর্ণ হিসাবে গ্যারান্টিযুক্ত না হলেও কমান্ডটি ব্যবহার করা আরও ভাল ফলাফল দিতে পারে। idকমান্ড চেয়ে আরো সাম্প্রতিক, এবং পরিবর্তে, পুরাতন আরও ভালো হবে জন্যই ছিল groupsকমান্ড।

যদিও groupsকমান্ড একটি সুনির্দিষ্ট এবং সঠিক ফলাফল দেয়, আপনি ভাল প্রদর্শিত আছে যে groups usernameকমান্ড নির্ভর করা যাবে না উপর একই কাজ করতে।

groupsকমান্ডের উত্স-কোড পরীক্ষা না করে , আমি অনুমান করতে পারি যে groups usernameআপনার লিনাক্স বিতরণে কমান্ডটি প্রয়োগ করা বিশ্লেষণ করে /etc/groups, যা আপনার ক্ষেত্রে কিছুই ছিল না, তবে ব্যবহার করে না /etc/nsswitch.conf, যা থেকে সমস্ত পরিপূরক গোষ্ঠী এসেছে came সুতরাং শুধুমাত্র প্রাথমিক গোষ্ঠীর নাম তালিকাভুক্ত করা হয়েছে jacob,।

আরও তথ্যের জন্য দেখুন:

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