যদি আমি একটি অনিবদ্ধ ব্যবহারকারী হিসাবে কোনও ফাইল তৈরি করি এবং অনুমতিগুলির মোডটি এতে পরিবর্তন করি তবে 400
এটি ব্যবহারকারীর দ্বারা কেবল পঠনযোগ্য হিসাবে দেখা হবে, সঠিকভাবে:
$ touch somefile
$ chmod 400 somefile
$ [ -w somefile ] && echo rw || echo ro
ro
সবকিছু ঠিক আছে.
তবে এরপরে রুটটি উপস্থিত হয়:
# [ -w somefile ] && echo rw || echo ro
rw
কি হ্যাক? অবশ্যই, রুট কেবল পঠনযোগ্য ফাইলগুলিতে লিখতে পারে, তবে এটির অভ্যাস করা উচিত নয়: সেরা অনুশীলন হ'ল এই লেখার প্রবণতা রাখে যে লেখার অনুমতি বিটের জন্য আমার পরীক্ষা করা উচিত, এবং যদি এটি না হয় তবে এটি সেট করা হয়েছিল যে কারণে একটি কারণ।
আমি অনুমান করি যে কেন এটি হচ্ছে, আমি উভয়ই বুঝতে চাই এবং লেখার বিট সেট নেই এমন কোনও ফাইলের পরীক্ষা করার সময় আমি কীভাবে একটি মিথ্যা রিটার্ন কোড পেতে পারি ?
/etc/dhcp/dhcpd.conf
, যা মূলের মালিকানাধীন। আমি সরবরাহকারী সরবরাহ করা ব্যবহার করছি dhcpd
। মোট বিপর্যয়, হাহ? ফাইল RCS মধ্যে পরীক্ষা করা হয়, আমি ব্যবহার স্বয়ংক্রিয় করছি rcsdiff
, ci
এবং co
কারণ আমরা আছে অপারেটার যে প্রয়োজন ... কাজ করে। অনুমতি বিট চেক ( -w
যেমন হিসাবে বিশদভাবে test(1)
) ব্যর্থতার প্রথম লাইন হতে চলেছে, সেই ভিত্তিতে কাজ করে যা ci -u
কেবল একটি ফাইলকে পঠনযোগ্য করে দেয় leaves আমি এটি খনন করছি এবং সরাসরি যাচ্ছি rcsdiff -q
এবং চেক করছি $?
। নির্বিঘ্ন dhcpd
? এটি মালিকানাধীন হবে dhcpd
।
bash
এবং test
যে কি বিশ্বাস করতে আমাকে নেতৃত্বে [ -w
জন্য।
4.1.2(1)-release
) এবং RHEL7 (4.2.46(2)-release
) উভয়ই ব্যবহার করছি ।