সিম্বলিক লিঙ্ক ব্যবহারকারীর আইডি উপর ভিত্তি করে


1

আমি ভাবছি কিভাবে লিনাক্সে সিম্বলিক লিঙ্কের মতো কিছু তৈরি করতে হবে, এটি বিভিন্ন ব্যবহারকারীর কাছে এটি দেখতে বিভিন্ন ডিরেক্টরিগুলির দিকে নির্দেশ করে। আমি এটির জন্য দীর্ঘ সময়ের জন্য অনুসন্ধান করছিলাম এবং hlfsd নামে কিছু খুঁজে পেয়েছিলাম - অবশ্যই সাধারণ সিমলিংক এটি করতে পারে না, কারন তারা "স্টাফ" কার্নেলের উপর ভিত্তি করে, কিন্তু আমি করেছি কিছু পাওয়া গেছে যে এই সমস্যা সমাধান করতে পারে।

কিন্তু, সেখানে কি কোনও "ভাল" সমাধান আছে - যা আমাকে লিঙ্ক-অনুরূপ ফাইল দেবে, যা t.h.e. এর উপর ভিত্তি করে বিভিন্ন ডিরেক্টরি নির্দেশ করবে। ব্যবহারকারীর আইডি?

মূলত আমি কি করতে চান:

আমরা ফাইল গঠন সঙ্গে সার্ভার আছে বিবেচনা করা যাক A/{a1 a2}/{b1 b2}/{c1 c2} এই ফোল্ডারগুলির ভেতরে বড় ফাইল রয়েছে এবং এটি নেটওয়ার্কে অনুলিপি করা উচিত নয়। চলুন ব্যবহারকারী ইউ1 এই ফাইলগুলি অ্যাক্সেস করতে চায়, তাই সে symlink (এতদূর ভাল) করতে পারে।

সমস্যাটি হচ্ছে, যখন তিনি এই কাঠামোটি অ্যাক্সেস করতে চান এবং সে স্থানীয়ভাবে কেবল উদাহরণের জন্য অনুলিপি করতে চায় A/a1/b1/c1। অবশ্যই আমরা স্থানীয়ভাবে অনেকগুলি সিমলিংক তৈরি করতে পারি, যা সার্ভারে সেই ফোল্ডারগুলিকে নির্দেশ করবে, তবে আমাদের কাছে আমার কাছে কোনও গুরুত্বপূর্ণ বিষয় নেই - যখন কেউ উদাহরণস্বরূপ ফোল্ডার যোগ করে A/a1/b1/c3, তারপর এই ব্যবহারকারী, যে এই ফাইলের গঠন লিঙ্ক এবং আছে A/a1/b1/c1 স্থানীয়ভাবে, পরিবর্তনগুলি দেখতে পাবেন না, কারণ তার সমস্ত লিঙ্ক ম্যানুয়ালি তৈরি করা হয়েছে।


আপনার ব্যবহার ক্ষেত্রে আপনার প্রশ্নের সাথে সম্পর্কিত কিভাবে আমি বুঝতে পারছি না। বিভিন্ন ব্যবহারকারী একই ফাইল / ডিরেক্টরি জন্য বিভিন্ন বিষয়বস্তু কেন দেখতে হবে? ফাইল যে দূরবর্তী গুরুত্বপূর্ণ হয়? ব্যবহারকারী সুবিধার কত এবং নিরাপত্তা কত? সম্ভবত AFS অথবা ফিউজ আপনার আগ্রহ হতে পারে।
Gilles

উত্তর:


1

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

লিনাক্সে শুধুমাত্র এটিই আপনাকে সমর্থন করে না তবে এটি সমর্থন করে না তবে ব্যবহারকারীর স্টাফগুলি আপনার মনে করার চেয়ে এটি প্রয়োগ করা কঠিন। * বিএসডি ইন, এটি সহজ স্ট্রিংগুলির জন্য সিম্বলিং করতে তৈরি হয়েছিল কার্নেলটি আর্কিটেকচারের মতো (যেমন i686 বনাম x86_64) সম্পর্কে জানবে। তারপরে একটি সিমলনিক / opt / someapp / bin = & gt; / opt / someapp / $ {arch} / bin কিছু ধারনা করে। কিন্তু আপনি প্রতি ব্যবহারকারী করতে চান। মনে রাখবেন যে সিলেকিনগুলি কার্নেলে সমাধান করা হয়েছে, এবং কার্নেল আপনার নাম, অথবা হোম ডির জানে না। এটি আপনার ইউজার আইডি জানে, এবং এটি সম্পর্কে এটি। এটি আপনার সম্পর্কে কোন তথ্য পেতে ব্যবহারকারীর মোডে পিছনে লাফাতে হবে। অসম্ভব না, কিন্তু খুব চতুর। তারপর, কিভাবে প্রোগ্রাম setuid কাজ করবে?

সংক্ষেপে, আমি জানি তুমি কি বোঝাতে চাও, তুমি যা চাও তা জানো, কিন্তু তুমি সেখানে যেতে অসম্ভব। হয়তো চেক আউট দ্রব করা এবং তারা ব্যবহার করতে পারেন কিছু আছে কিনা দেখতে।

আপনি যা বলেছিলেন তা মোটেও নয়, তবে আপনি হয়তো এটির উৎস নিয়ন্ত্রণের সাথে এটি করতে পারেন। ClearCase (payware) একটি কার্নেল মডিউল ব্যবহার করে যা আপনি যা চান তা সর্বাধিক করতে সক্ষম হবেন কিনা তা নিশ্চিত না করেও। এমনকি একটি কার্নেল ফাইল সিস্টেম মডিউল ছাড়া, আপনি সম্ভবত আপনি চান 60-70% বিতরণ সোর্স নিয়ন্ত্রণ ঠেকাতে পারেন।


0

আমি দেখতে সহজ সমাধান প্রতিটি ফোল্ডারে লুকানো ফোল্ডার আছে .realfiles যা বাস্তব ফোল্ডার ফোল্ডারে এবং ফোল্ডার মত A/a1 অথবা A/a1/b2 একটি উপরে, তাই ফোল্ডার সিমলিঙ্ক হয় A/a1 symlink হয় ../MOUNT/.realfiles/a1 এবং A/a1/b2 symlink হয় ../MOUNT/.realfiles/a1/.realfiles/b1।

এখন মূলত সার্ভারে MOUNT এটিকে সিলেমিংক হয় তবে প্রতি ব্যবহারকারীর লিঙ্কগুলি পরিবর্তন করা সম্ভব হবে, যদি প্রতিটি ব্যবহারকারীর জন্য MOUNT ফোল্ডার অন্য ডিরেক্টরি নির্দেশ করে তবে আমরা চাইলে কিছু লিঙ্ক পরিবর্তন করতে সক্ষম হব।

(আমি এই বিশেষ পরিস্থিতি জানি, কিন্তু আমি ভাল ব্যাখ্যা করতে ভাল করেছি)


@ ওয়াডানিলো আমি প্রশ্ন থেকে উত্তরটি আলাদা করার চেষ্টা করতে পেরেছিলাম। আপনি যদি কখনো ফিরে আসেন, একটি উত্তর পোস্ট করুন আমাকে একটি @ sathya দিন যাতে আমি এটি মুছে ফেলতে পারি।
Sathyajith Bhat

হাই! সমস্যা হল এটি উত্তর নয় :( এটি সাধারণ সমাধান, এটি কাজ করবে যদি আমি "ব্যবহারকারী প্রতি" সিমলিংক তৈরি করতে সক্ষম হব। সুতরাং "MOUNT" symlink প্রতিটি ব্যবহারকারীর জন্য অন্য জায়গায় নির্দেশ করবে :(
wdanilo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.