আমি লিনাক্সে এনএফএস 4 দ্বারা কিছুটা বিরক্ত হয়েছি। কিছু তথ্য 'তথ্যের বাইরে' অন্য তথ্যের সাথে বিরোধযুক্ত বলে মনে হয় এবং অন্যান্য তথ্য খুঁজে পাওয়া শক্ত হয়। সুতরাং এখানে কয়েকটি জিনিস আমার দৃষ্টি আকর্ষণ করেছে, আশা করি সেখানে কেউ এই বিষয়ে কিছু আলোকপাত করতে পারে।
এই প্রশ্নটি কার্বারোস ইত্যাদি ছাড়া একচেটিয়াভাবে এনএফএস 4-তে দৃষ্টি নিবদ্ধ করে
1. রপ্তানি
exports
/ ইত্যাদি / রফতানির কাঠামোর ম্যানপেজে অস্পষ্ট তথ্য রয়েছে ।
থেকে উদ্ধৃতি exports(5)
:
এছাড়াও, প্রতিটি লাইনের একটি বিকল্প তালিকার পরে ড্যাশ ("-") আকারে পাথ নামের পরে ডিফল্ট বিকল্পগুলির জন্য এক বা একাধিক স্পেসিফিকেশন থাকতে পারে।
বিকল্প তালিকাটি কেবলমাত্র এই লাইনে পরবর্তী সমস্ত রফতানির জন্য ব্যবহৃত হয়।
"কেবলমাত্র সেই লাইনে পরবর্তী রফতানি" বলতে কী বোঝায়?
1.2 fsid=0
আর প্রয়োজন নেই?
আমি fsid সন্ধান করছিলাম যখন আমি লিনাক্স- এনএফএস তালিকায় fsid = 0 উল্লেখ করে একটি মন্তব্য পেয়েছি তখন আর প্রয়োজন হয় না। এখন আমি কেবল বিভ্রান্ত হয়েছি, আমার কি এনএফএস 4 দিয়ে এটি দরকার?
2. অ-রফতানি ডিরেক্টরি এখনও মাউন্টযোগ্য
বলুন আমার কাছে নিম্নলিখিত গাছ রয়েছে:
/exp
/exp/users
/exp/distr
/exp/distr/archlinux
/exp/distr/debian
এবং এই fstab এন্ট্রিটিতে আমার নীচের প্রবেশাধিকার রয়েছে:
/dev/disk/by-label/users /mnt/users ext4 defaults 0 0
/dev/disk/by-label/distr /mnt/distr ext4 defaults 0 0
/mnt/users /exp/users none bind 0 0
/mnt/distr /exp/distr none bind 0 0
এবং আমার রফতানি হ'ল:
/exp 192.168.1.0/24(fsid=0,rw,async,no_subtree_check,no_root_squash)
/exp/distr 192.168.1.0/24(rw,async,no_subtree_check,no_root_squash)
এবং exportfs -arv
দেখায়:
exporting 192.168.1.0/24:/exp/distr
exporting 192.168.1.0/24:/exp
তাহলে আমি কেন এটি করতে সক্ষম এবং কোনও ক্লায়েন্টের কোনও ত্রুটি পেতে পারি না:
mount -t nfs4 server:/exp/users /tmp/test
যদিও /exp/users
রফতানি হয় না? আমি এই ডিরেক্টরিটি রফতানি করিনি, এবং /dev/disk/by-label/users
আমি উল্লেখ না করা বিষয়বস্তুগুলি দেখতে না পেয়ে আমি crossmnt
এখনও ডিরেক্টরিটিতে লিখতে সক্ষম হয়েছি। আমি সেখানে যা কিছু লিখি তা অন্তর্নিহিত ডিরেক্টরিতে চলে যায় /exp/users
যার মধ্যে যখন দেখা যায় তখন umount /exp/users; ls /exp/users
..
3. এর বিজোড় কেস showmount -d server
যেমনটি বলা হয়েছে rpc.mountd(8)
, এই কমান্ডটি এমন ডিরেক্টরি প্রদর্শন করতে হবে যা বর্তমানে ক্লায়েন্টদের দ্বারা মাউন্ট করা হয়, বা /var/lib/nfs/rmtab
যেমন পাঠ করা যায় তেমন বাসি এন্ট্রিগুলি :
আরপিসি.মাউন্টড ডিমন / var / lib / nfs / rmtab ফাইলে একটি এন্ট্রি যুক্ত করে প্রতিটি সফল এমএনটি অনুরোধ নিবন্ধভুক্ত করে। যখন কোনও এনএফএস ক্লায়েন্টের কাছ থেকে কোনও ইউএমএনটি অনুরোধ পুনর্বিবেচনা করা হয়, rpc.mountd কেবল / var / lib / nfs / rmtab থেকে ম্যাচিং এন্ট্রি সরিয়ে দেয়, যতক্ষণ না সেই রফতানির জন্য অ্যাক্সেস নিয়ন্ত্রণ তালিকা সেই প্রেরককে রফতানিতে অ্যাক্সেসের অনুমতি দেয়।
(...)
নোট, তবে, গ্যারান্টি দেওয়া খুব কম যে / var / lib / nfs / rmtab এর বিষয়বস্তু সঠিক। কোনও ক্লায়েন্ট ইউএমএনটি আবেদন করার পরেও রফতানি অ্যাক্সেস চালিয়ে যেতে পারে। যদি ক্লায়েন্ট কোনও ইউএমএনটি অনুরোধ না প্রেরণ করে পুনরায় বুট করে তবে বাসি এন্ট্রিগুলি সেই ক্লায়েন্টের জন্য / var / lib / nfs / rmtab এ থাকবে।
এটি পড়ার পরে আমি অবশ্যই অবাক:
- খালি এই ধরণের ক্লায়েন্টের তথ্য প্রকাশ করা কি ভয়াবহভাবে নিরাপত্তাহীন নয়;
- অজানা সার্ভার প্রশাসকদের অনেক বাসি ক্লায়েন্টের সাথে একটি rmtab থাকতে বাধ্য ;
- এই কারণে যে ক্লায়েন্ট যে সঙ্গে nfs4 ডিরেক্টরি মাউন্ট হয়
mount -v
পেতে মত আউটপুট দেখার জন্য "কিছুই মাউন্ট করা হয়" এমনকি কিছু যদিও ছিল মাউন্ট?
আমার কাছে এনএফএস 4 সম্পর্কিত আরও অনেক প্রশ্ন রয়েছে তবে আমি এই মুহুর্তে এটিকে রাখব .. :)