আমি কীভাবে কোনও ফোল্ডারটির লিখন-কেবল দেখতে পারি?


12

আমি ফাইল সিস্টেমে এমন একটি জায়গা রাখতে চাই যা আমার কাছে অন্যের ফোল্ডারে কেবল লেখার "ভিউ" উপস্থাপন করে যা আমার কাছে পঠন-লেখার অ্যাক্সেস রয়েছে।

আমি এফটিপি ড্রপ বাক্সের সাথে আচরণের অনুরূপ এমন কিছু চিত্রিত করছি যেখানে ফাইলগুলিতে এটি অনুলিপি করা যায় তবে এটি পড়তে পারে না, যেমন:

$ ls read-write-view/ write-only-view/
read-write-view/:
a  b  c

write-only-view/:

$ cp d write-only-view/
$ ls read-write-view/ write-only-view/
read-write-view/:
a  b  c  d

write-only-view/:

এটি উদাহরণস্বরূপ যেমন কাজ করে তা গুরুত্বপূর্ণ - এর মাধ্যমে অ্যাক্সেস পাওয়া গেলে সামগ্রীগুলি এখনও দৃশ্যমান হয় read-write-view/এবং উভয় "মতামত" একক ব্যবহারকারীর জন্য কার্যকর হয়।

আমি কীভাবে এটি সেট আপ করতে পারি? প্রতীকী লিঙ্কগুলির কিছু চালাক বিন্যাস, সম্ভবত? বা একটি বাঁধাই মাউন্ট একটি অস্বাভাবিক কনফিগারেশন?

উত্তর:


2

কয়েক বছর আগে সাম্বা মেইলিং লিস্টে শিক্ষার্থীদের ড্রপ বাক্সগুলির জন্য আমি এই একই প্রশ্নটি জিজ্ঞাসা করেছি (http://lists.samba.org/archive/samba/2008- সেপ্টেম্বর/143610.html) এবং উত্তরটি আমাদের পক্ষে কাজ করেছে। আপনার ফাইল সিস্টেমে (এসিএল প্যাকেজ থেকে) বর্ধিত এসিএল বৈশিষ্ট্যগুলি দরকার, এখানে জেরেমি অ্যালিসনের উত্তর ...

ঠিক আছে, সমস্যাটি হ'ল শিক্ষার্থীদের সেখানে নতুন ফাইলগুলি টেনে আনতে এবং ছাড়ার জন্য সংযুক্ত ডিরেক্টরিটি পড়তে হবে। কারণটি হ'ল সাম্বা তাদের পক্ষে ডিরেক্টরিটি স্ক্যান করতে সক্ষম হতে হবে যাতে ক্ষেত্রে সংবেদনশীল তাত্পর্য দেখা যায়।

তবে যতক্ষণ না আপনি শিক্ষার্থীদের একে অপরের ফাইলের ফাইল দেখার অনুমতি দিতে আপত্তি করেন না, আপনি একটি ড্রপবক্স সেট আপ করতে পারেন যাতে শিক্ষার্থীরা এতে (এবং তাদের নিজস্ব ফাইল) লিখতে পারে তবে অন্যদের ফাইল সম্পাদনা বা দেখতে না পারে।

প্রথমত, আপনি নিশ্চিত করতে চান যে ড্রপবক্স ডিরেক্টরিতে তৈরি করা ফাইলগুলি শিক্ষার্থীর প্রাথমিক গোষ্ঠীর মালিকানাধীন নয়, তবে ড্রপবক্স ডাইরেক্টোটির গ্রুপ মালিকের। সুতরাং:

chgrp শিক্ষকরা ড্রপবক্স

এটি শিক্ষক দলের মালিকানাধীন করা। তারপরে ড্রপবক্স ডিরেক্টরিতে সেটগ্রিড বিট সেট করে নিন যাতে নিশ্চিত হয়ে যায় যে সেখানে তৈরি করা ফাইলগুলির নিজস্ব একটি গ্রুপের শিক্ষক রয়েছে।

chmod g + s ড্রপবক্স

তারপরে নিশ্চিত করুন যে ড্রপবক্সে কোনও ফাইলের নাম পরিবর্তন বা মুছে ফেলা যেতে পারে কেবল ফাইলের মালিক, বা ডিরেক্টরি মালিকের দ্বারা, বা রুট (একই অনুমতি যা / টেম্পে আছে)।

chmod + t ড্রপবক্স

তারপরে শিক্ষার্থীদের এসিএল যুক্ত করে ডিরেক্টরিতে লেখার অনুমতি দিন

setfacl -mg: শিক্ষার্থী: rwx ড্রপবক্স

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

আপনার যদি ফাইলগুলি ডিরেক্টরি মালিকের মালিকানাধীন হওয়ার দরকার হয় তবে তাদের তৈরি করা শিক্ষার্থীদের দ্বারা নয়, আপনাকে উপরে বর্ণিত হিসাবে আলাদা ভাগ সেটআপ করতে হবে, তবে তারপরে শেয়ার স্তর পরামিতি যুক্ত করুন:

উত্তরাধিকারী মালিক = হ্যাঁ

যার ফলে সেই ভাগের ডিরেক্টরিগুলির মধ্যে তৈরি ফাইলগুলি তৈরির মালিকানাধীন ডিরেক্টরিটি মালিকানাধীন হয়ে উঠবে creating


1

আপনি ফোল্ডারে অনুমতি নির্ধারণ করে এর মধ্যে কিছু অর্জন করতে পারেন যাতে লক্ষ্য ব্যবহারকারীদের ফোল্ডারে লেখার অ্যাক্সেস থাকে তবে অ্যাক্সেস পড়তে পারে না।

উদাহরণস্বরূপ, কাউকে কোনও ফোল্ডারে লেখার অনুমতি দেওয়ার জন্য তবে এর সামগ্রীগুলি তালিকাভুক্ত নয়, আপনি নিম্নলিখিতটি করতে পারেন:

chmod o=wx folder

অথবা কেবলমাত্র কোনও নির্দিষ্ট গোষ্ঠীর ব্যবহারকারীদের এই অ্যাক্সেস দিতে:

chgrp groupname folder
chmod o=,g=wx folder

এখন সেই ব্যবহারকারীরা ফোল্ডারের বিষয়বস্তু তালিকাবদ্ধ করতে সক্ষম হবে না তবে ফোল্ডারে ফাইলগুলি রাখতে সক্ষম হবে:

$ ls folder
ls: cannot open directory folder: Permission denied
$ touch folder/filename

এটি আপনার চাইলে সমস্ত কিছুই করে না, যেহেতু ব্যবহারকারীরা যদি নামটি অনুমান করতে পারেন তবে তারা ফোল্ডারে থাকা ফাইলগুলিতে অ্যাক্সেস করতে পারে। ক্রোন জবের মাধ্যমে আপনি এই ঝুঁকিটি হ্রাস করতে পারেন যা নিয়মিতভাবে ড্রপ বক্স ফোল্ডারের বাইরে থাকা ফাইলগুলিকে এমন একটি স্থানে নিয়ে যায় যেখানে অন্য ব্যবহারকারীদের অ্যাক্সেস থাকে না।


1

আপনি আরডাব্লু অ্যাক্সেস সহ একটি ড্রপ ফোল্ডার তৈরি করতে পারেন "লিখন-কেবল দেখুন" এবং কন্টেন্টটি অন্য "পঠন-লিখন-দর্শন" এ সরিয়ে রাখতে ক্রোনজব বা ইনোড বিজ্ঞপ্তি ব্যবহার করতে পারেন।


1

আমি বিশ্বাস করি আপনি কেবল বাঁধা মাউন্ট কৌশল ব্যবহার করতে পারেন /etc/fstab:

/path/to/read-write-view /path/to/write-only-view none bind 0 0

সুতরাং, আপনি সম্ভবত তখন হতে পারে:

chmod a=wx /path/to/write-only-view
chmod a=rwx /path/to/read-write-view

1

বাইন্ডফ ব্যবহার করুন , যা "ডিরেক্টরিতে অন্য কোনও স্থানে মাউন্ট করার জন্য এবং অনুমতি বিটের পরিবর্তন করতে" নকশাকৃত।

একটি সাধারণ ফোল্ডার দিয়ে শুরু করুন যা পড়া এবং লেখার অ্যাক্সেস উভয়ই রয়েছে:

$ mkdir read-write-view && touch read-write-view/{a,b,c}
$ ls read-write-view
a  b  c

পঠিত অ্যাক্সেস ছাড়াই ফোল্ডারটি মাউন্ট করতে বিন্দুগুলি ব্যবহার করুন:

$ mkdir write-only-view
$ sudo bindfs --perms=a-r read-write-view write-only-view

যাচাই করুন যে শুধুমাত্র মূল ফোল্ডারের বিষয়বস্তু তালিকাভুক্ত করা যেতে পারে:

$ ls read-write-view write-only-view
read-write-view:
a  b  c
ls: cannot open directory write-only-view: Permission denied

মাউন্ট মাধ্যমে মূল ফোল্ডারটিতে লেখা যেতে পারে তা যাচাই করুন:

$ echo 'Can you read this?' > write-only-view/d
$ cat read-write-view/d
Can you read this?

মাউন্ট মাধ্যমে ফাইলগুলি পড়তে পারবেন না তা যাচাই করুন:

$ cat write-only-view/d
cat: write-only-view/d: Permission denied

0

প্রথমত, বিপরীতে এটিকে চিন্তা করা আরও সহজ। আপনার কাছে এমন ফোল্ডার রয়েছে যা লেখার অ্যাক্সেসের প্রয়োজন হয় তার জন্য আরডব্লিউ, এবং যাদের কেবলমাত্র পঠনযোগ্য অ্যাক্সেসের প্রয়োজন তাদের জন্য এই ফোল্ডারটির একটি পঠনযোগ্য "দর্শন"।

সঠিকভাবে কাজ করার জন্য আমি কখনই মাউন্ট - বাইন্ড -o আরও বিকল্পটি পেতে সক্ষম হইনি this এটি করার সবচেয়ে নির্ভরযোগ্য উপায় হ'ল এনএফএস ব্যবহার করা। নিম্নলিখিতগুলিতে / ইত্যাদি / রফতানিতে যুক্ত করুন

/path-to-folder/folder 127.0.0.1(secure,ro,no_root_squash)

তারপরে পঠনযোগ্য কেবলমাত্র "ভিউ" দিয়ে মাউন্ট করুন

mount -o ro 127.0.0.1:/path-to-folder/folder /read-only-folder

আপনার এখন আপনার আসল ফোল্ডারের একটি পঠন দর্শন থাকা উচিত।

আমি মনে করি আপনি সাম্বা / সিআইএফ দিয়ে একই জিনিসটি করতে পারতেন তবে এটি কেবল নেটওয়ার্ক অ্যাক্সেসের জন্য সত্যই বোধগম্য হবে।

এই সমাধানটি এই হাটো দ্বারা অনুপ্রাণিত হয়েছিল ( থেকে চুরি হয়েছে ) । আমি আসা করি এটা সাহায্য করবে.


আমি কেবল পঠনযোগ্য দর্শন সম্পর্কে জিজ্ঞাসা করছি না, কেবল পঠন-লিখন এবং কেবল লেখার জন্য।
üন্দ্রিক

0

আমি মনে করি না এটি সম্ভব, কারণ বিষয়বস্তু প্রদর্শন করতে আপনাকে "কেবল লেখার" ডিস্কটি পড়তে হবে।

যদি আমি এই জাতীয় কোনও ডিভাইস বিক্রি করি, তবে কেউ কীভাবে এটির কাজটি যাচাই করতে সক্ষম হবে? সম্ভবত এটি কিক স্টার্টারগুলির জন্য একটি।


0

এটি কোনও উত্তর নয়, তবে সত্যিই আরও একটি চিন্তাভাবনা এবং সম্ভবত অন্য একটি প্রশ্ন। আমার কাছে এই শব্দগুলি মনে হচ্ছে যেন এটি কোনও ধরণের হুক বা ট্রিগার মাধ্যমে প্রয়োগ করা যেতে পারে।

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

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