আমি ফ্রিবিএসডি-তে আশ্চর্যজনক (আমার জন্য) অনুমতি আচরণে হোঁচট খেয়েছি। ধরা যাক আমি নন-রুট ব্যবহারকারী হিসাবে অপারেটিং করছি । আমি একটি ফাইল তৈরি করি, কেবলমাত্র পঠন-পাঠাতে তার অনুমতি সেট করি এবং তারপরে এটি লেখার চেষ্টা করি:
$ touch f
$ chmod 400 f
$ ls -l f
-r-------- 1 user wheel f
$ echo a >> t
t: Permission denied.
এ পর্যন্ত সব ঠিকই. এখন আমি রুট হিসাবে একই কাজ এবং এটি ফাইলের মধ্যে লিখেছে:
# ls -l f2
-r-------- 1 root wheel f2
# echo a >> f2
# echo $?
0
এটি কোনও বাগ বা উদ্দেশ্যমূলক আচরণ? আমি কী নিরাপদে ধরে নিতে পারি যে এটি কোনও ইউনিক্স এবং লিনাক্সে কাজ করবে?
chmodপারে না কারণ ফাইলটি লিখতে পারে না।
touch somefile; chmod 0000 somefile; chmod 0644 somefileএকটি সাধারণ ব্যবহারকারী হিসাবে চেষ্টা করুন।
CAP_DAC_OVERRIDEকরতে পারেন। প্রায় সমস্ত লিনাক্স সিস্টেমে এর অর্থ রুট এটি করতে পারে তাই এটি ইচ্ছাকৃত। ফ্রিবিএসডি অংশের পক্ষে কথা বলতে পারব না তবে আমি ভাবতে পারি যে তাদের একই রকম সেটআপ রয়েছে।