লিনাক্স, আমার কাছে গ্রুপ অনুমতি থাকলেও আমি কেন লিখতে পারি না?


108

আমি স্টাফ গ্রুপের মালিকানাধীন একটি ডিরেক্টরিতে একটি ফাইল তৈরি করতে চাই যার আমি সদস্য। আমি কেন এটি করতে পারি না?

bmccann@bmccann-htpc:~$ ls -l /usr/local/lib/R/
total 4
drwxrwsr-x 2 root staff 4096 2010-07-31 16:21 site-library
bmccann@bmccann-htpc:~$ id -nG bmccann
bmccann adm dialout cdrom plugdev staff lpadmin admin sambashare
bmccann@bmccann-htpc:~$ touch /usr/local/lib/R/site-library/tmp
touch: cannot touch `/usr/local/lib/R/site-library/tmp': Permission denied

1
আপনার কি / ইউএসআর / লোকাল / লাইব / আর সাইট লাইব্রেরি ডিরেক্টরিতে লেখার অনুমতি আছে?
টেড হপ

1
আমি পোস্ট করা প্রথম কমান্ডটি কি দেখায় না যে গ্রুপটিতে লেখার সুযোগ রয়েছে?
বেন ম্যাককান

3
ইতিমধ্যে একটি site-library/tmpফাইল / ডিরেক্টরি উপস্থিত আছে?
যেরেমিয়া উইলকক

উত্তর:


200

আপনি গ্রুপ পরিবর্তন করার পরে লগআউট এবং ফিরে লগ ইন করেছেন? দেখুন:
স্পর্শ অনুমতি ব্যর্থতা জড়িত সুপার ব্যবহারকারীর উত্তর


1
আমি যদি একটি নতুন টার্মিনাল উইন্ডো খুলি, তবে কি এটি একটি নতুন প্রক্রিয়া হিসাবে বিবেচিত হবে না? আমি নিশ্চিত যে আমি এটি চেষ্টা করেছিলাম এবং এটি আমাকে লগ আউট করতে বাধ্য করে না।
বেন ম্যাককান

7
@ বেন: একটি নতুন প্রক্রিয়া শুরু করা তার পিতামাতার কাছ থেকে ইউআইডি / গিডের উত্তরাধিকার সূত্রে প্রাপ্ত। আপনি একটি ছবি তৈরী প্রোগ্রাম প্রয়োজন (যেমন login, suইত্যাদি) আসলে ইউআইডি / gids সেট করতে।
শে

4
যদি এটি মধ্যে অসুবিধাজনক করার জন্য লগআউট / লগইন ফিরে এসেছে উপরের হিসাবে প্রযোজ্য, আপনি একটি টার্মিনাল এটি করতে পারেন: su your-user-name। ফলস্বরূপ শেলটিতে আপনার আপডেট হওয়া গ্রুপের অনুমতি থাকবে।
টিজে ক্রাউডার

2
এর জন্য ধন্যবাদ! আমি কেন আমার ফোল্ডারে গ্রুপ অনুমতি নেই তা জানার চেষ্টা করে প্রায় 15 মিনিট আমার চুল টানতে কাটিয়েছি।
জেরেমি স্পেন্সার

2
এটি আমার জন্য উবুন্টু 16.04 x64 এ পুনরায় আরম্ভ করা দরকার শুধু লগআউট এবং আবার লগইন না
কার্তিকে তান্না

15

কেন তিনি লিনাক্স ব্যবহারকারী গ্রুপে ফাইল সম্পাদনা করতে পারবেন না?

আমি উবুন্টু 12.04 ব্যবহার করছি এবং একই সমস্যা ছিল যেখানে ব্যবহারকারী কোনও ফাইলকে লিখতে পারবেন না যার কাছে তাকে গ্রুপ অ্যাক্সেসের অনুমতি দেওয়া হয়েছে। উদাহরণ স্বরূপ:

whoami                                        //I am user el
  el                                            

touch /foobar/test_file                       //make a new file

sudo chown root:www-data /foobar/test_file    //User=root  group=www-data

sudo chmod 474 /foobar/test_file              //owner and others get only read, 
                                              //group gets rwx


sudo groupadd www-data                        //create group called www-data    

groups                                        //take a look at the groups and see
 www-data                                     //www-data exists.

groups el                                     //see that el is part of www-data
  el : www-data                               

ব্যবহারকারী এবং গোষ্ঠী কার্যকর হয়েছে তা নিশ্চিত করতে এখনই টার্মিনালটি পুনরায় চালু করুন। এল হিসাবে লগইন করুন।

vi /foobar/test_file                          //try to edit the file.

সতর্কতা উত্পাদন করে:

Warning: W10: Warning: Changing a readonly file"

কি? আমি সবকিছু ঠিকঠাক করেছি কেন এটি কাজ করে না?

উত্তর:

কম্পিউটারের একটি সম্পূর্ণ রিবুট করুন। টার্মিনাল থামানো এই সমস্যাগুলির সমাধানের জন্য যথেষ্ট নয়।

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


1
"বড় সমস্যা" কী?
এজাজ

13

আমার একই সমস্যা ছিল, ফোল্ডারে আরও কোনও এসিএল বিধি আছে কিনা তা পরীক্ষা করে দেখুন!

আপনি ফোল্ডার তালিকাভুক্ত করার সময় যদি + (প্লাস সাইন) দেখতে পান তবে এর অর্থ এটির বিশেষ অ্যাক্সেসের বিধি রয়েছে। উদাহরণ স্বরূপ:

[user_in_apache_group@web02 html]$ ls -l
total 16
drwxrwxr-x  16 apache apache 4096 Sep  4 13:46 ilias
drwxrwxr-x+ 15 apache apache 4096 Sep  4 13:46 ilias5

অনুমতি দেখুন:

[user_in_apache_group@web02 html] getfacl ilias5
# file: ilias5
# owner: apache
# group: apache
user::rwx
user:user_in_apache_group:r-x
group::rwx
mask::rwx
other::r-x

সুতরাং এর অর্থ এই যে এই ফোল্ডারের জন্য আমার ব্যবহারকারীর (ব্যবহারকারীর_প্যাচ_গ্রুপ) কোনও লেখার অনুমতি নেই।

@ টেকটোনিক বলেছেন যে সমাধানটি ব্যবহারকারীর জন্য লেখার অনুমতি যুক্ত করুন:

[user_in_apache_group@web02 html]$ sudo setfacl -m u:user_in_apache_group:rwx ./ilias5

আবার অনুমতি পরীক্ষা করুন:

[user_in_apache_group@web02 html] getfacl ilias5
...
user:user_in_apache_group:rwx
...

আশা করি এটা সাহায্য করবে. ;)


8

লিনাক্স এসিএল (অ্যাক্সেস নিয়ন্ত্রণের তালিকা) ব্যবহার করুন - এটি অনুমতি সিস্টেমের আরও সূক্ষ্ম সংস্করণ,

setfacl -R -m 'group:staff:rwx' -m 'd:group:staff:rwx' /usr/local/lib/R/

এটি ডিরেক্টরি জন্য সক্রিয় অধিকার এবং মধ্যে তৈরি কিছু জন্য ডিফল্ট অধিকার উভয় সেট করে।

আপনি যদি নিজেকে এই staffগোষ্ঠীতে যুক্ত করেছেন তবে এটি পুনর্বিবেচনা ছাড়াই কাজ করতে ব্যর্থ হয়েছে তবে আপনি বর্তমান সেশনের জন্য কেবল নিজের জন্য অনুমতি নির্ধারণ করতে পারেন।


5

আমার কাছে সমস্যা ছিল যখন কোনও ব্যবহারকারীর /foo/bar/bazডিরেক্টরি থাকা সত্ত্বেও তার অনুমতি থাকা সত্ত্বেও ডিরেক্টরিটি অ্যাক্সেস করতে না পারার কারণ তার barডিরেক্টরিতে অ্যাক্সেস নেই ।


-2

আপনি সেই ফাইলটিতে কন্টেন্ট যুক্ত করার আগে আপনার পিতামাতার ডিরেক্টরিতে অনুমতি রয়েছে কিনা তা পরীক্ষা করুন

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