লিনাক্স: ফাইলগুলির গ্রুপের মালিকানা হারাতে হচ্ছে


8

আমার লিনাক্সে তৈরি অনেকগুলি ফাইল সহ একটি প্রকল্প রয়েছে have

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

একটি সাধারণ ফাইলের এখন এই অনুমতিগুলি রয়েছে:

-rw-rw-r--  1 phil dev   5617 Jul 14 15:45 profile.html

যাইহোক, আমি যখন ফাইলটি সম্পাদনা করব html ফাইলটি এটি আমার কাছে আবার ফিরে আসে এবং আমার সহকর্মী সম্পাদনা করার ক্ষমতা হারিয়ে ফেলে।

-rw-rw-r--  1 phil phil  5617 Jul 14 15:45 profile.html

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

উত্তর:


17

সমন্বিত ফোল্ডারে আপনি গোষ্ঠীটি দেব হিসাবে পরিবর্তন করতে চান এবং তারপরে সেট-গিড চিহ্নিত করুন।

chgrp dev <containing-folder>
chmod g+ws <containing-folder>

সেট গ্রিড বিট ফোল্ডারটির গোষ্ঠীটি উত্তরাধিকারী হওয়ার জন্য যে কোনও নতুন ফোল্ডারে সেটগিড বিট চিহ্নিত করার জন্য সেই ফোল্ডারে তৈরি করা ফাইলগুলি তৈরি করে। ডিরেক্টরিগুলিতে ফাইলগুলি সরানোর সময় আপনি সতর্কতা অবলম্বন করতে চান কারণ এটি তাদের বিদ্যমান অনুমতিগুলি সংরক্ষণ করবে।


কেবলমাত্র একটি প্রতিকার (আমার উত্তর দেখুন)
এ্যাসেডমিন

8

বাচ্চাদের দ্বারা গ্রুপের মালিকানা সংরক্ষণের জন্য আপনি ডিরেক্টরিতে সেটগিড বিট ব্যবহার করতে পারেন ।

chown :dev directory/
chmod g+s directory/

কেবলমাত্র একটি প্রতিকার (আমার উত্তর দেখুন)
এ্যাসেডমিন

7

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

এটি পুনরায় মাউন্ট করতে যদি এটি মূল বিভাজন (উদাহরণ):

sudo mount -o remount,grpid,rw,relatime,errors=remount-ro /

'ম্যান্ট 8' থেকে:

grpid or bsdgroups / nogrpid or sysvgroups
These options define what group id a newly created file gets.

যখন গ্রিপিড সেট করা থাকে, এটি ডিরেক্টরিতে এটি তৈরির গোষ্ঠী আইডি নেয়; অন্যথায় (ডিফল্ট) এটি বর্তমান প্রক্রিয়াটির fsgid নেয়, যদি না ডিরেক্টরিটিতে সেটগ্রিড বিট সেট থাকে, তবে এটি প্যারেন্ট ডিরেক্টরি থেকে গ্রিড গ্রহণ করে এবং যদি ডিরেক্টরি নিজেই থাকে তবে সেটগিড বিট সেটও পায়।


+1 জানতে খুব দরকারী টিডিবিট
ফরাসী

আপনি যদি কোনও ফাইল তৈরি বা অনুলিপি করেন তবে এটি কি গোষ্ঠীর লেখার অনুমতি রাখবে?
KB

1

ইমাক্সের জন্য ডিফল্ট আচরণ হ'ল নাম বদলে ব্যাকআপ ফাইল তৈরি করা। ইমাস ম্যানুয়াল থেকে:

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

এটি পরিবর্তন করার বিভিন্ন উপায় রয়েছে।

  • গ্রুপ এবং স্টিকি বিট সেট করুন, অন্যরা যেমন বর্ণনা করে।
  • ফাইল সম্পাদনার আগে 'newgrp দেব' চালান, যাতে আপনার ডিফল্ট গ্রুপটি ডেভ হয়।

অথবা ইমাস নির্দিষ্ট:

  • ইম্যাক্সে ফাইল-মূল্যবান-পতাকা সেট করুন, যা গোষ্ঠী সংরক্ষণে আচরণের পরিবর্তন করে, তবে এর অন্যান্য পার্শ্ব প্রতিক্রিয়াও রয়েছে।
  • ইম্যাকগুলিতে ব্যাক-আপ-অনুলিপি-যখন-মেলেনি, সেট করুন যা কখন মালিকানা বা গোষ্ঠী পরিবর্তনের কারণ হতে পারে নামকরণের পরিবর্তে অনুলিপি ব্যবহার করে।

সুতরাং, আপনার .emacs যোগ করুন:

(setq backup-by-copying-when-mismatch 't)

আমার পছন্দটি আসলে 'newgrp dev', কারণ এটি "ব্যক্তিগত" মোড থেকে স্পষ্টভাবে স্যুইচ হয় (আমি যে ফাইলগুলি সম্পাদনা করি তা কেবল আমার), গ্রুপ ডে মোডে (এখন যে ফাইলগুলি আমি সম্পাদনা করি তা গ্রুপের মধ্যে ভাগ করা হয়)।


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