একটি বিশাল অ্যাপ্লিকেশনটির প্রয়োজন হয় একটি নির্দিষ্ট সময়ে, একটি ফাইলের জন্য সংখ্যক লেখার সম্পাদনের জন্য যার জন্য রুট অনুমতি প্রয়োজন। এটি আসলে কোনও ফাইল নয় তবে একটি হার্ডওয়্যার ইন্টারফেস যা একটি ফাইল হিসাবে লিনাক্সের কাছে প্রকাশিত।
পুরো অ্যাপ্লিকেশনটিকে মূল সুযোগগুলি এড়াতে, আমি একটি বাশ স্ক্রিপ্ট লিখেছিলাম যা সমালোচনামূলক কাজ করে। উদাহরণস্বরূপ, নিম্নলিখিত স্ক্রিপ্টটি আউটপুট হিসাবে হার্ডওয়্যার ইন্টারফেসের পোর্ট 17 সক্ষম করবে:
echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
তবে, যেমনটি suid
আমার সিস্টেমে বাশ স্ক্রিপ্টগুলির জন্য অক্ষম রয়েছে তাই আমি আশ্চর্য হয়েছি এটি অর্জনের সর্বোত্তম উপায় কী is
স্ক্রিপ্টটি কল করার
sudo
সময় কোনও পাসওয়ার্ডের প্রয়োজন এড়াতে মূল অ্যাপ্লিকেশনটি দিয়ে স্ক্রিপ্টটি কল করুন এবং সেই অনুসারে সূডার তালিকা সম্পাদনা করুন। আমি সুডোর সুবিধাগুলি দিতে কিছুটা অস্বস্তি করছিecho
।কেবল একটি সি প্রোগ্রাম লিখুন
fprintf
, এবং এটি sued রুটে সেট করুন। স্ট্রিং এবং ফাইলের নামগুলি হার্ডকোড করুন এবং নিশ্চিত করুন যে কেবল রুট এটি সম্পাদনা করতে পারে। বা কোনও পাঠ্য ফাইল থেকে স্ট্রিংগুলি পড়ুন, একইভাবে নিশ্চিত করে নিন যে কেউ ফাইল সম্পাদনা করতে পারে না।কিছু অন্যান্য সমাধান যা আমার কাছে ঘটে না এবং এটি নিরাপদে বা সরল তবে উপরের উপস্থাপনাগুলি?