স্থানীয় মেশিনে ফাইলগুলি ভাগ করার ভাল এবং সহজ উপায়


13

আমি নিম্নলিখিত ডিরেক্টরিতে একটি ডিরেক্টরি পেতে চাই:

  • অনেক ব্যবহারকারী এতে ফাইল অনুলিপি করতে পারেন
  • এই ফাইলগুলি এই ব্যবহারকারীদের দ্বারা মুছে ফেলা / পরিবর্তন করা যেতে পারে (ব্যবহারকারী এ ডিরেক্টরিটিতে অনুলিপি করা ফাইলটি মুছতে / পরিবর্তন করতে পারবেন)

এটি সাধারণ ফাইল অনুমতি ব্যবহার করে করা যায় না (কারণ অনুলিপি অনুলিপি ধরে রাখা হয়)।

আমি নেটে যা পেয়েছি তা এখানে:

কিছু ব্যবহারের ক্ষেত্রে:

  • স্থানীয় মেশিনে সংগীত ভাগ করা
  • সাধারণ গিট রিপোজিটরি ভাগ করে নেওয়া (অনেকের কাছে কেবল খালি ভাণ্ডার লিখনযোগ্য) - আমি জানি যে গিটোসিসের মতো সমাধান রয়েছে
  • অনেকগুলি বিকাশকারীকে পিএইচপি অ্যাপ্লিকেশনকে রুট না দিয়ে পরীক্ষার উদাহরণটি সংশোধন করার অনুমতি দিন (আমার ধারণা তারা ফাইলগুলি অনুলিপি করবে) --- আমি অলাভজনক জুনিয়র বিকাশকারীদের একটি দলকে নেতৃত্ব দিচ্ছি এবং আমার এটি সহজ রাখা দরকার!

সম্পাদনা

আফিকের এসজিআইডি বিট সেট করা বিরাট নয়, এটি কেবল নতুন তৈরি ফাইলগুলিকে প্রভাবিত করে --- এবং এই ব্যবহারের ক্ষেত্রে আইভনলভগুলি অনুলিপি করা এবং অন্যান্য ক্রিয়াকলাপগুলির জন্য মূল কর্মপ্রবাহ (যা ফাইলের গিড অপরিবর্তিত)

উত্তর:


9

অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি

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

আপনার অংশগ্রহণকারী ব্যবহারকারীদের 022 এর উমাস্ক থাকা দরকার they যদি তারা নিয়মিত-অ-বিশ্ব-পাঠযোগ্য ফাইলগুলি তৈরি করেন তবে এই স্কিমটি কার্যকর হবে না। তবে তাদের যদি একটি সীমাবদ্ধ উমাস্ক থাকে তবে এটি সম্ভবত কারণ তারা যেভাবেই ফাইলগুলি ভাগ করতে চান না।

এসিএল সক্ষম করা হচ্ছে

উবুন্টু এসিএলগুলি ডিফল্টরূপে সক্ষম করে না, তাই এককালীন প্রশাসকের প্রয়োজনীয়তা রয়েছে। /etc/fstabআপনার পছন্দসই সম্পাদক ব্যবহার করে সম্পাদনা করুন এবং আপনি যে ফাইলগুলি ভাগ করতে চান সেখানে ফাইল সিস্টেমের সাথে সম্পর্কিত প্রতিটি লাইন পরিবর্তন করুন: aclবিকল্পগুলিতে যুক্ত করুন। (নিশ্চিত করুন যে অন্য কোনও লাইন পরিবর্তন না করা, এবং দীর্ঘ লাইনে আবৃত কোনও সম্পাদক ব্যবহার না করা।) aclবিকল্পটি যুক্ত করে এখানে একটি উদাহরণ রেখা দেওয়া হয়েছে:

UUID=5e1ec7ed-face-dead-beef-c011ec7ab1e5  /  ext4  errors=remount-ro,acl  0 1

বিকল্পটি প্রথমবার কার্যকর করার জন্য নিম্নলিখিত কমান্ড ব্যবহার করুন (প্রতিটি ফাইল সিস্টেমের জন্য):

sudo mount -o remount,acl /

aclপ্যাকেজ থেকে ACL সরঞ্জামগুলি ইনস্টল করুন ।

ভাগ করা ডিরেক্টরি সেট আপ করা হচ্ছে

গ্রুপ দ্বারা ফাইল ভাগ করা mygroup:

setfacl -m group:mygroup:rwx /path/to/shared/root
setfacl -d -m group:mygroup:rwx /path/to/shared/root

লোকেরা যদি ফাইল তৈরি করে এবং সেগুলি ভাগ করে নেওয়া ডিরেক্টরিতে অনুলিপি করে তবে ফাইলগুলি বিশ্ব-পঠনযোগ্য হবে (উমাস্কের কারণে) এবং গ্রুপের যে কেউ ফাইল যুক্ত করতে এবং মুছে ফেলতে পারে (কারণ গ্রুপটি গ্রুপ-লিখনযোগ্য)। লোকেরা একে অপরের ফাইল সম্পাদনা করতে পারে না, তবে এটি খুব ভাল জিনিস বা আপনি সরাসরি সংঘর্ষগুলি সম্পাদন করতে চলেছেন।

আপনার যদি ইউনিক্স গ্রুপ না থাকে তবে আপনি একে একে ব্যবহারকারীদের যুক্ত করতে পারেন:

setfacl -m user:bob:rwx /path/to/shared/root
setfacl -d -m user:bob:rwx /path/to/shared/root

ভর্সন নিয্ন্ত্র্ন

আপনি যদি চান যে লোকেরা স্থানে ফাইল সম্পাদনা করতে সক্ষম হন তবে সম্পাদনা বিরোধগুলি রোধ করতে আপনারও কিছু দরকার। এটি সংস্করণ নিয়ন্ত্রণ।

গিট সংগ্রহস্থলটি ভাগ করতে আপনার কোনও প্রয়োজন নেই। আপনি জানেন যে গিটোসিসের মতো সমাধান রয়েছে, তাই সেগুলি ব্যবহার করুন।


সিপি (এবং এমভি?) দ্বারা স্বয়ংক্রিয় উত্তরাধিকার ভেঙে না দেওয়া থাকলে এসিএল পুরোপুরি কাজ করবে যা লক্ষ্য ডিরেক্টরি স্তরে ডিফল্ট এসিএল সেট করে (উপেক্ষা করে) করে।
দরকারী

2

কেবল এটি করুন:

mkdir /src/teamA
addgroup teamA
chgrp teamA /src/teamA
chmod g+rws /src/teamA

এখন teamAদলের সবাই ভিতরে ভিতরে সবকিছু তৈরি করতে পারে/src/teamA

যাদুটি ডিরেক্টরিতে স্যাজিড (সেট আইডি) বিট।


আফাইক এটি কাজ করবে না, আপডেট পোস্ট দেখুন
জেবি।

1

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

এটি একাধিক স্থানীয় ব্যবহারকারীকে একটি ভাগ করা ডিরেক্টরি এবং এর উপ-ডিরেক্টরিগুলি থেকে (নতুন তৈরি হওয়াগুলি সহ) সমস্ত ফাইল পড়তে এবং লিখতে (নতুন তৈরি হওয়াগুলি সহ) পরিবর্তন এবং পড়ার অনুমতি দেয়। প্রতিটি ব্যবহারকারী ফাইল এবং ফোল্ডারগুলি (নতুন নির্মিত ফাইলগুলি সহ) তাদের নিজস্ব হিসাবে দেখবে।

সংক্ষেপে, আপনি চালান

sudo bindfs -o perms=0700,mirror-only=user1:user2:user3 /home/shared /home/shared

ইউজার 1, ইউজার 2 এবং ইউজার 3 এ / হোম / শেয়ার করে উপলব্ধ করতে।

নির্দেশনা

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

পোস্ট থেকে:

বিন্দফগুলি হ'ল ডিরেক্টরি সেটিংসের সাথে অন্য কোনও স্থানে (মাউন্টপয়েন্ট) ডিরেক্টরিতে মাউন্ট করার জন্য FUSE ফাইল সিস্টেম। এটি আপনাকে মাউন্টপয়েন্টের ভিতরে থেকে ফাইলগুলির মালিকানা এবং অনুমতিগুলি নির্দিষ্ট করতে দেয়।

...

মূল সুবিধাটি হ'ল ভাগ করা ডিরেক্টরিতে নির্মিত নতুন ফাইলগুলির মালিকানা ও অনুমতিগুলির উত্তরাধিকারী হবে।

অ্যাক্সেস নিয়ন্ত্রণের তালিকা (এসিএল)

নথি নোটগুলি:

আপনি যদি বিভিন্ন ব্যবহারকারী এবং / অথবা গোষ্ঠীর জন্য আরও উন্নত অনুমতি সেট আপ করতে চান তবে অ্যাক্সেস কন্ট্রোল তালিকাগুলির চেষ্টা করুন ।

আরও বিশদ জানতে গিলসের উত্তর দেখুন ।


যদি আপনাকে ওয়ানিরিকের উপর বিন্দু যুক্ত করতে সমস্যা হয় তবে আপনি এখানে ব্যবহারকারী-তৈরি প্যাকেজগুলি পেতে পারেন bugs.launchpad.net/ubuntu/+source/bindfs/+bug/851600
david.libremone

-3

আপনি শেলহোলিকের দ্রবণটি ক্রোন জবের সাথে একত্রিত করতে পারেন যা প্রতি 15 সেকেন্ডে বা এর অনুরূপ অন্য কোনও ফোল্ডারের সমস্ত ফাইলের জন্য গিড আপডেট করে।

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