গোষ্ঠী অনুমতি অনুমতি দেয়, কিন্তু এখনও অনুমতি অস্বীকার পেতে


43

আমার একটি ext4 পার্টিশন রয়েছে এবং আমি সমস্ত উপ-পরিচালকদের জন্য গ্রুপ গ্রুপকে মাইগ্রুপে সেট করেছি:

# chgrp -R mygroup /mount/abc
# chmod -R g+swrx /mount/abc

আমার ব্যবহারকারী সেই গোষ্ঠীর অংশ। পার্টিশনের অভ্যন্তরে এমন একটি ফোল্ডার রয়েছে যার ব্যবহারকারীর মালিকানা নেই 'কেউ নেই' এবং এখন গ্রুপটি 'মাইগ্রুপ' by আমার ব্যবহারকারী 'মাইগ্রুপ' এর অংশ। এখানে একটি এলএস-এল:

myuser@host:/mount/abc/folder$ ls -l
drwxr-sr-x 2 nobody      mygroup      4096 Apr 25 12:08 ./
drwxrwsrwx 6 nobody      mygroup      4096 Apr 24 07:57 ../
-rw-r-xr-- 1 otheruser   mygroup    159539 Apr 23 23:44 test.png*

myuser@host:/mount/abc/folder$ groups myuser
myuser : mygroup {... a list of other groups also...} 

myuser@host:/mount/abc/folder$ rm test.png 
rm: remove write-protected regular file ‘test.png’? y
rm: cannot remove ‘test.png’: Permission denied

myuser@host:/mount/abc/folder$ touch test.txt
touch: cannot touch ‘test.txt’: Permission denied

নোট করুন যে আমি এমন কোনও গোষ্ঠীর মালিকানাধীন কোনও ফাইল মুছতে বা তৈরি করতে পারি না যা আমার ব্যবহারকারী অংশ।

আমার ধারণা, গোষ্ঠীগুলি কীভাবে কাজ করে তা আমি পুরোপুরি বুঝতে পারি না। আমি ভেবেছিলাম আপনি যদি কোনও গ্রুপের অংশ হয়ে থাকেন তবে আপনি সেই গোষ্ঠীর অনুমতি পেয়েছেন। আমি কি ভুল কিছু করছি?

ধন্যবাদ


দেখে মনে হচ্ছে অনুমতিগুলির ত্রিয়ার মালিক-গোষ্ঠী-বিশ্ব। উপরে আপনি ডিরেক্টরি জন্য drwxr-sr-x দেখতে পাবেন। সুতরাং গ্রুপের অনুমতিটি হল আরএসএস। দেখে মনে হচ্ছে chmod -R পুনরাবৃত্তভাবে rwx এ অনুমতিগুলি সেট করে নি। আমি যখন ফোল্ডারের গোষ্ঠী অনুমোদনের জন্য ডাব্লু বিটটি ফ্লিপ করি তখন এটি কার্যকর হয়।
বিশৃঙ্খলা

উত্তর:


70

আপনি লগ আউট / এর মধ্যে লগইন না করে সম্প্রতি সেই গোষ্ঠীতে সেই ব্যবহারকারীকে যুক্ত করেছেন? তারপরে "গোষ্ঠীগুলি" গোষ্ঠীটি প্রদর্শন করবে তবে ব্যবহারকারীটির কাছে এখনও গ্রুপের অনুমতি নেই।

আপনি আপনার কার্যকর গ্রুপগুলি ব্যবহার করে প্রদর্শন করতে পারেন

$ id

উদাহরণ হিসাবে, আমি যদি psগ্রুপটিতে আমার ব্যবহারকারীর যোগ করি faxএবং তারপরে টাইপ করি

$ id

এটি গ্রুপ প্রদর্শন করে না fax, কিন্তু

$ groups ps

শো fax

এরকম suআপনার নিজের ব্যবহারকারীকে আপনি নতুন গ্রুপ অন্তর্ভুক্তি দেয়:

$ su ps
$ id

আউটপুট এখন রয়েছে fax


1
এটি জানতে সত্যই সহায়ক। বিশেষত 'sudo <ব্যবহারকারীর নাম' অংশ।
কেওস

3
লগ ইন / আউট তাই স্পষ্ট যে আমি পয়েন্ট মিস, অনেক ধন্যবাদ বন্ধু!
নিকোলোলিয়াস

1
@ পেশেü আমার কাছে আছে sudoএবং এটি নিয়মিত ব্যবহার করি। আমি আপনাকে যে ত্রুটিটি দেখিয়েছি তা অভিযোগ করছে যে কমান্ডটি ubuntu(অর্থাত্ ব্যবহারকারীর নাম) কোনও স্বীকৃত আদেশ নয়। আমি মনে করি না যে আপনার পরামর্শটি সিনথেটিকভাবে সঠিক - সম্ভবত এটি আপনার ক্ষেত্রে কাজ করে কারণ psএকটি আদেশের পাশাপাশি ব্যবহারকারীর নামও হয়।
বেলডাজ

1
@ বেলডাজ ওহ না! তুমি ঠিক! সিনথেটিকভাবে এটি সঠিক su <username>। আমি পোস্টটি সম্পাদনা করেছি।
peschü

1
পুরানো লগ আউট / লগ ইন আবার প্রতিটি সময় কাজ।
স্টিম্পুঙ্কারি

9

আপনি যে পদ্ধতিটি ব্যবহার করেছেন তা সঠিক বলে মনে হচ্ছে। আমি এখন এটির প্রতিলিপি দেওয়ার চেষ্টা করেছি এবং এটি ঠিক কাজ করেছে।

টাইপো আছে কিনা তা আমি নিশ্চিত নই, তবে কমান্ডটি নিয়ে কিছুটা সমস্যা আছে। সেখানে "মাইগ্রুপ" উল্লেখ করার দরকার নেই। নিম্নলিখিত কাজ করে

# chmod -R g+swrx /mount/abc

এমনকি, আপনি sকিছুটা সরাতে পারেন , ঠিক করুন g+rwx। আপনি অনুমতিগুলি পরিবর্তন করার পরে এবং আপনি এটি করার পরে ls -lএটি প্রাসঙ্গিক সুবিধাগুলি প্রদর্শন করা উচিত।


2
আমি গ্রুপের নাম দিয়ে টাইপো সরিয়েছি। আপনি যখন এলএস-এল করেন তখন ডিরেক্টরিতে রেগ্সের অনুমতি থাকে এবং এটি কারওই মালিকানাধীন নয়: মাইগ্রুপ। যদিও মিউসার মাইগ্রুপের অংশ হলেও, মাইউজার এখনও ফাইল তৈরি / মুছতে পারে না। আমি আশা করি যে এটি উপলব্ধি করে।
বিশৃঙ্খলা

3

আপনি ফাইলটি সরাতে পারবেন না কারণ ফোল্ডারের পাশাপাশি গ্রুপে ফাইলে mygroupলেখার অনুমতি নেই test.png। লেখার জন্য ফাইলটিতে কাজ করার জন্য ফাইলের অনুমতিগুলি দেখতে পাওয়া উচিত:

-rw-rwxr-- 1 otheruser   mygroup    159539 Apr 23 23:44 test.png*

যদি আপনি কাছ থেকে অনুমতি বিন্যাসটি ঘুরে দেখুন

duuugggooo

প্রথম তিনটি স্থানধারক হ'ল uuuব্যবহারকারী r ead, w rite এবং e x ecute ec পরবর্তী তিনটি স্থানধারক gggগ্রুপ এবং oooঅন্যদের জন্য। ওপি গ্রুপ পোস্ট করা স্নিপেটে ডাব্লু রাইটের অনুমতি অনুপস্থিত ।


2

গৃহীত উত্তরে যুক্ত করতে (যেহেতু আমি এখনও মন্তব্য করতে পারি না):

আপনি যদি সার্ভারের সাথে এসএসএইচ সংযোগ তৈরি করতে বিটভিসের মতো সফ্টওয়্যার ব্যবহার করেন, কেবলমাত্র টার্মিনালটি বন্ধ করা এবং পুনরায় খোলার ফলে লগ ইন এবং আউট হিসাবে গণ্য হবে না। এটি আপনার পুনরায় লোড করার মতো জিনিসগুলি করবে~/.bashrc , তবে প্রকৃত গোষ্ঠী আপডেটগুলি সম্পাদন করবে না (যদি আপনি "লগইন" সেশনে গোষ্ঠীটি যুক্ত করেন)। এটি কার্যকর করার জন্য আপনাকে পুরোপুরি লগআউট করতে হবে এবং আপনার এসএসএইচ-কী / শংসাপত্রগুলির সাথে আবার লগইন করতে হবে।


2

ডিরেক্টরিগুলির জন্য খোলার জন্য এক্স বিট সেট (ডিরেক্টরিটির জন্য বিটটি সন্ধান বিট হিসাবে দেখা যায়) প্রয়োজন। সুতরাং আমি গাছ ব্যবহার করি যাতে আমি কেবল ফোল্ডার সেট পেতে পারি এবং সমস্ত ফাইলকে এক্সিকিউটেবল হিসাবে সেট করার দুঃস্বপ্ন এড়াতে পারি (গাছের বিকল্পটি হ'ল -d List directories only.):

sudo tree -faid /mount/abc | xargs -L1 -I{} sudo chmod 755  "{}"

সতর্কতা !!! আপনার এই বিবেচনার মধ্যে থাকা উচিত:

  • রুট /ডিরেক্টরি বা সিস্টেম ডিরেক্টরিতে chmod বা chown recursive ব্যবহার করা আপনার ওএসকে ধ্বংস করে দেবে ( /ডিরেক্টরি বা সিস্টেম ডিরেক্টরিতে আসলে পুনরাবৃত্তি হওয়া বিপদজনক)

  • এটির মতো অনুমতির পরিমাণ নির্ধারণের জন্য এটি কোনও ভাল সুরক্ষা অনুশীলন নয়


1
দুর্দান্ত ধন্যবাদ! "ডিরেক্টরিগুলির এক্স বিট সেট দরকার" শব্দটি আমার সমস্যার সমাধান করেছে! আমি "sudo chmod g + x <প্যারেন্ট দির পাথ>" করেছি এবং এটি কার্যকর হয়েছে।
কিনোর্নিরওয়ানা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.