এই প্রশ্নটি সম্পূর্ণ সাধারণ এবং কেবল আমার পরিস্থিতির জন্যই প্রযোজ্য নয়, তবে ... আমার একটি ছোট ব্যস্তবক্স অ্যাপ্লায়েন্স রয়েছে যেখানে আমি চাই যে কোনও রুটবিহীন ব্যবহারকারী রুট প্রিভিলিজেস সহ একটি নির্দিষ্ট স্ক্রিপ্ট কার্যকর করতে সক্ষম হন। উদাহরণস্বরূপ, ডিএইচসিপি সক্ষম করতে এই ছোট স্ক্রিপ্টের মতো কিছু, যেখানে কেবলমাত্র ভেরিয়েবল ( $1
) সেন্টিমিডলাইন (!!) প্রেরণ করার জন্য হোস্টের নামটি প্রেরণ করতে হবে:
#!/bin/bash
udhcpc -b -i eth0 -h $1
এটির মতো udcpc চালানোর জন্য রুট অ্যাক্সেস প্রয়োজন, তাই এটি করার /etc/sudoers
জন্য আমি এই লাইনটি সংশোধন করার পরিকল্পনা করছি :
joe ALL = NOPASSWD: /path/to/enable_dhcp.sh
যা "জো" কে সহজেই চালিয়ে রুট সুবিধাগুলি সহ সহজেই সেই স্ক্রিপ্টটি চালাতে সক্ষম করে:
sudo /path/to/enable_dhcp.sh
এবং একটি পাসওয়ার্ড জিজ্ঞাসা করা হচ্ছে না (যা আমি চাই, যেহেতু জো এটির স্ক্রিপ্ট করতে সক্ষম হোক)।
এখন .. আমি জানি (বা কমপক্ষে আমি মনে করি) আমি জানি যে $1
কোনও স্ক্রিপ্টে সহজেই রুট সুবিধাগুলি দিয়ে চালানো যেতে পারে এটি একটি হররাইল আইডিয়া যেহেতু আপনি যা চান তাতে ইনজেক্ট করতে পারেন।
সুতরাং ... এটি মোকাবেলার সেরা উপায় কি? আমি কীভাবে জোকে রুট সুবিধাগুলি দিয়ে যা করতে চাই, কীভাবে তাকে ভেরিয়েবলের মধ্যে দিয়ে যেতে পারি (বা কার্যকরভাবে পরিবেশের পরিবর্তনশীলের মতো এটি করতে পারি), যখন ইনজেকশন আক্রমণে সম্পূর্ণ উন্মুক্ত না হয়?