উবুন্টুতে একটি ফোল্ডারে একাধিক ব্যবহারকারীকে লেখার অনুমতি দিন


80

এখানে একটি ফোল্ডার রয়েছে যা ব্যবহারকারীর মালিকানাধীন টমক্যাট 6:

drwxr-xr-x 2 tomcat6 tomcat6 69632 2011-05-06 03:43 document

আমি অন্য ব্যবহারকারীর (রুজার) দস্তাবেজ ফোল্ডারে অনুমতি লেখার অনুমতি দিতে চাই। দুটি ব্যবহারকারী (টমক্যাট 6 এবং রুজার) একই গ্রুপের নয়। আমি ব্যবহার করে চেষ্টা করেছি setfacl:

sudo setfacl -m  u:ruser:rwx document

তবে এটি আমার setfacl: document: Operation not supportedত্রুটি দেয় । দয়া করে আমাকে সাহায্য করুন।

উত্তর:


143

এটি করার দুটি উপায় রয়েছে: ডিরেক্টরিটিকে "ওয়ার্ল্ড" রচনার জন্য সেট করুন বা দুটি ব্যবহারকারীর জন্য একটি নতুন গ্রুপ তৈরি করুন এবং সেই গোষ্ঠীতে ডিরেক্টরিটি লেখার যোগ্য করুন।

স্পষ্টতই এটিকে বিশ্ব লেখার যোগ্য করে তোলা একটি খারাপ জিনিস, সুতরাং দ্বিতীয় বিকল্পটি পছন্দনীয়।

লিনাক্সের ব্যবহারকারীরা একাধিক গ্রুপের হতে পারে। এই ক্ষেত্রে আপনি একটি একেবারে নতুন গ্রুপ তৈরি করতে চান, আসুন এটি কল করুন tomandruser:

sudo groupadd tomandruser

এখন গ্রুপটি বিদ্যমান, এতে দুটি ব্যবহারকারী যুক্ত করুন:

sudo usermod -a -G tomandruser tomcat6
sudo usermod -a -G tomandruser ruser

এখন যা আছে তা হ'ল ডিরেক্টরিতে অনুমতিগুলি সেট করা:

sudo chgrp -R tomandruser /path/to/the/directory
sudo chmod -R 770 /path/to/the/directory

এখন কেবল টম্যানড্রুজার গ্রুপের সদস্যরা ডিরেক্টরিতে কিছু পড়তে, লিখতে বা চালিত করতে পারে। Chmod এবং chgrp কমান্ডের -R আর্গুমেন্টটি নোট করুন: এটি তাদের লক্ষ্য ডিরেক্টরিটির প্রতিটি উপ ডিরেক্টরিতে পুনরাবৃত্তি করতে এবং এটি খুঁজে পাওয়া প্রতিটি ফাইল এবং ডিরেক্টরি সংশোধন করতে বলে।

আপনি 774যদি অন্যদেরও ফাইল 775পড়তে এবং অন্যদের ফাইলগুলি পড়তে এবং চালিত করতে চান, ইত্যাদি ইত্যাদিতে আপনি 770 পরিবর্তন করতেও পারেন may হবে।

যদি আপনিও চান (আপনি সম্ভবত এটি করতে পারেন) যে কোনও একটি ব্যবহারকারীর দ্বারা ডিরেক্টরিটির ভিতরে তৈরি করা নতুন ফাইলগুলি গ্রুপের অন্যদের দ্বারা স্বয়ংক্রিয়ভাবে লিখনযোগ্য হয়, তবে এখানে দেখুন


2
আপনি সম্ভবত ডিরেক্টরিগুলির জন্য সেট-গ্রুপ-আইডি পতাকা সেট করতে চান, নতুন ফাইল এবং উপ-ডিরেক্টরিগুলি স্বয়ংক্রিয়ভাবে ডান গোষ্ঠীর মালিকানাধীন:sudo find /path/to/the/directory -type d -exec chmod 2770 '{}' \;
মার্সেলো নুসিও

8
আমি chmod 770, 775 বা যা কিছু ব্যবহার করা এড়াতে চাই। যা সমস্ত ফাইলের অনুমতি নিয়ে গণ্ডগোল করে। পরিবর্তে অন্য কিছু না chmod -R g+wকরে লেখার অনুমতি যুক্ত করার মতো কিছু ব্যবহার করুন।
খ্রিস্টান ভার্গা

2
যদি কোনও ব্যবহারকারী সেখানে একটি নতুন ফাইল তৈরি করে (বলে, মাইএসকিএল বাই SELECT INTO OUTFILE), এটি তার প্রাথমিক গোষ্ঠীর কাছে অনুমতি নির্ধারণ করে ( mysqlএই ক্ষেত্রে), এবং ফাইলটি অন্য কোনও ব্যবহারকারী দ্বারা অ্যাক্সেসযোগ্য নয়। এটি কীভাবে কাজ করবেন?
অলেক্সা

2
আপনি যদি ফোল্ডারের মালিকানা পরিবর্তন না করে কোনও ফোল্ডারে ব্যবহারকারীদের লেখার অ্যাক্সেস দিতে চান তবে আপনি যদি কোন পাবলিক_এইচটিএমএল ফোল্ডারে অ্যাপাচের অনুমতি নিয়ে গোলযোগ করতে চান না?
কোডেকবয়

2
দ্রষ্টব্য: "ব্যবহারকারীগণ লগ আউট এবং ফিরে না আসা পর্যন্ত গোষ্ঠী নিয়োগের পরিবর্তনগুলি কার্যকর হবে না।" আমি এটি মিস করেছি :)
ভ্লাদিমির ভুকানাক

3

উদাহরণ স্ক্রিপ্ট w (write)/ r (read) / x (execute)প্রদত্ত ফোল্ডার পাথের /path/to/the/directoryজন্য USER1এবং এর জন্য অনুমতি দেওয়ার জন্য একটি উদাহরণ দেখায় USER2। আপনি শুধুমাত্র লেখার অ্যাক্সেস রিপ্লেস করুন দিতে চান rwxসঙ্গে w


#!/bin/bash

# Block others and people in the same group to do read/write/execute on give folder:    
sudo chmod 700 /path/to/the/directory 

#Give read/write/execute access to USER1 on give folder:
sudo setfacl -R -m user:USER1:rwx  /path/to/the/directory 

#Give read/write/execute access to USER2 on give folder:
sudo setfacl -R -m user:USER2:rwx  /path/to/the/directory 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.