আমি একটি ব্যবহারকারীকে একটি দলে যোগ করেছি, তবে ফাইলগুলিতে গ্রুপ অনুমতিগুলির কোনও প্রভাব নেই


17

আমি কোনও ফাইলের অনুমতি পরিবর্তন করেছি ( chmod g+w testfile) এবং চলমান ls -l testfileদেয়:

-rwxrwxr-x 1 user1 user1 0 2011-01-24 20:36 testfile

তারপরে আমি সেই গোষ্ঠীতে একটি ব্যবহারকারী যুক্ত করেছি (" / etc / group " এর user1:x:1000:user2লাইন রয়েছে), তবে ব্যবহারকারী হিসাবে ফাইলটি সম্পাদনা করতে ব্যর্থ হচ্ছি। কেন এমন হয়?


উত্তর:


28

user2 লগ আউট এবং ফিরে প্রবেশ করা দরকার Group গ্রুপ অনুমতিগুলি এইভাবে কাজ করে:

  • আপনি যখন লগ ইন করেন, আপনার প্রক্রিয়াগুলিতে উল্লিখিত আপনার মূল গোষ্ঠীতে গ্রুপ সদস্যতা পেতে হবে /etc/passwd, এবং আপনার ব্যবহারকারীদের উল্লিখিত সমস্ত গ্রুপে /etc/group। (আরো স্পষ্ট করে, pw_gidমাঠে getpw(your_uid), প্লাস সকল গোষ্ঠী যার আপনার ব্যবহারকারী একটি সুনির্দিষ্ট সদস্য । বিয়ন্ড /etc/passwdএবং /etc/groupতথ্য যেমন NIS বা দ্বারা LDAP ব্যবহারকারীর ডাটাবেস অন্য ধরনের থেকে আসা পারে।) প্রধান গ্রুপ প্রক্রিয়া এর হয়ে কার্যকর গোষ্ঠী ID এবং অন্যান্য গোষ্ঠীগুলি এর পরিপূরক গ্রুপ আইডি হয়ে যায়
  • যখন কোনও প্রক্রিয়া কোনও ক্রিয়াকলাপ সম্পাদন করে যার জন্য কোনও নির্দিষ্ট গোষ্ঠীতে সদস্যতার প্রয়োজন যেমন একটি ফাইল অ্যাক্সেস করা , তখন সেই গোষ্ঠীটি অবশ্যই কার্যকর গ্রুপ আইডি বা প্রক্রিয়াটির পরিপূরক গোষ্ঠী আইডিগুলির একটি হতে হবে।

আপনি দেখতে পাচ্ছেন যে কেবলমাত্র ব্যবহারকারী লগ ইন করলেই ব্যবহারকারীর গোষ্ঠী সদস্যপদে আপনার পরিবর্তনটি কার্যকর হয় processes প্রক্রিয়া চলার জন্য, খুব দেরি হয়ে গেছে। সুতরাং ব্যবহারকারীর লগ আউট এবং পিছনে প্রবেশ করতে হবে that's যদি এটি খুব বেশি সমস্যা হয় তবে ব্যবহারকারী একটি পৃথক সেশনে লগইন করতে পারে (যেমন একটি আলাদা কনসোল বা সহ ssh localhost)।

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

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

Occasion মাঝে মাঝে এমন প্রক্রিয়া থাকে যা আরআর (আরআরআরডি, উদেব) থেকে উদ্ভূত হয় না তবে মূল নীতিটি একই: মূল হিসাবে শুরু করুন এবং সময়ের সাথে সাথে সুযোগ-সুবিধাগুলি হারাবেন।
² এর যেমন SELinux- র হিসাবে বহুস্তরীয় নিরাপত্তা অবকাঠামো ছাড়া।


1
মনে রাখবেন যে আপনি যদি ডেস্কটপ জিইউআই ব্যবহার করেন, কেবলমাত্র টার্মিনাল উইন্ডোতে লগ আউট করে ফিরে যাওয়া গ্রুপ সদস্যতা পুনরায় সেট করবে না। আমার এই সমস্যা ছিল এবং আমার জিইআইআই অধিবেশনটিও লগ আউট করতে হবে:
39

3
@ ব্যবহারকারী 394 লগ আউট এবং ফিরে গ্রুপ সদস্যতা পুনরায় সেট করে না। আপনি যদি কেবলমাত্র একটি টার্মিনাল উইন্ডোটি বন্ধ করেন তবে আপনি লগ আউট করছেন না।
গিলস 14'23

10

আপনার ব্যবহারকারীর জন্য লগ আউট এবং পিছনে ফিরে আসতে হবে (অথবা একটি নতুন লগইন সেশন তৈরি করতে কেবল এস-ইন করতে চেষ্টা করুন)। id --groupsকোনও ব্যবহারকারীর সংখ্যাসূচক গ্রুপ আইডিগুলি প্রদর্শন করতে আউটপুট পরীক্ষা করুন ।


1

sudo su $(whoami)

মূলত একই কাজ ssh localhost, তবে ssh সার্ভার ইনস্টল না করে ব্যবহারযোগ্য able

যতক্ষণ তোমার শিকড় আছে। তবে আপনি যদি সদ্য একটি নতুন গোষ্ঠী যুক্ত করেছেন এবং অনুমতিগুলি পরিবর্তন করেছেন তবে আপনি সম্ভবত তা করতে পারেন।


যদিও এটি গ্রহণযোগ্য উত্তরটির চেয়ে তথ্যগতভাবে সম্পূর্ণ কম উত্তর, কখনও কখনও আপনি কীভাবে একটি ঘড়ি তৈরি করতে হয় তা জানতে চান এবং কখনও কখনও আপনি কেবল এটি জানতে চান যে এটি সময় কী। এই উত্তরটি আমাকে এমন কৌশল দিয়ে সাহায্য করেছিল যা আমি পরবর্তী লগ আউট এবং ফিরে না আসা পর্যন্ত কাজ করতে পারি Thanks ধন্যবাদ।
বেনিয়ামিন স্ট্যাটন

0

একটি ক্ষেত্রে আছে যখন ব্যবহারকারী লগআউট সাহায্য করে না - যদি আপনি হোস্টের জন্য কন্ট্রোলমাস্টার ssh নির্দেশিকা ব্যবহার করেন। আপনি যদি একই অ্যাকাউন্টে কোনও গ্রুপে লগঅফ এবং আবার একই কন্ট্রোল মাস্টার সংযোগের মধ্যে যুক্ত হন তবে সেশনটি আপনাকে নতুন কোনও সদস্যপদ প্রদর্শন করবে না। আপনাকে জোর করে মাস্টার সংযোগটি ভেঙে ফেলতে হবে

ssh -O exit hostname

আবার লগইন করার আগে।

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