এমন একটি স্ক্রিপ্ট প্রস্তুত করুন যা আপনি চান সম্পাদনা করুন, উদাহরণস্বরূপ এমন একটি স্ক্রিপ্ট যা স্থির আইপি দিয়ে সঠিক ফাইলটি লিখবে (এই স্ক্রিপ্টে কী লিখতে হবে তা এই প্রশ্নোত্তরের বাইরে নয়)। এই স্ক্রিপ্ট কল করুন /root/set_static_ip। (1)
সম্পাদনা /etc/sudoers(2) ( visudoএটির চেয়ে ভাল, এটি বিচক্ষণতার জন্য পরীক্ষা করে, একটি অবৈধ sudoers ফাইল সহ একটি সিস্টেম পুনরুদ্ধার করা খুব কঠিন , এমনকি দূরবর্তী (3)) থেকে অসম্ভব , এবং যুক্ত করা
user_name_to_authorize ALL=NOPASSWD: /root/set_static_ip
এখন ব্যবহারকারী sudo /root/set_static_ip কোনও পাসওয়ার্ড জিজ্ঞাসা না করেই ব্যবহার করতে সক্ষম হবেন এবং স্ক্রিপ্টটি সমস্ত সুযোগ-সুবিধা সহ চলবে; অন্য কোনও আদেশের অনুমতি দেওয়া হবে না।
আপনি যদি চান যে ব্যবহারকারী কেবল কোনও ফাইলের পরিবর্তে তার যা কিছু চান, স্ক্রিপ্টটি সহজেই হতে পারে (এটি কল করুন /root/unsafe-overwrite-interface)
#! /bin/bash -e
#
cp /tmp/temp-iface.txt /etc/network/interfaces
exit 0
... এবং আপনি ব্যবহারকারীকে সম্পাদনা করতে /tmp/temp-iface.txtএবং তারপরে চালানোর কথা বলুন sudo /root/unsafe-overwrite-interface--- উপরে বর্ণিত হিসাবে এটি sudoers এ সক্ষম করে। অথবা আপনি ব্যবহারকারীকে একটি এসিএল তালিকায় যুক্ত করতে পারেন এবং নির্দিষ্ট ফাইলটিতে তাদের লেখার অনুমতি দিতে পারেন ।
কিন্তু লক্ষ্য করা যে আপনি নিরাপত্তার জন্য ফাইলের বিষয়বস্তু চেক করবেন না, ব্যাপক ধ্বংস হবে ঘটবে, হয় ইচ্ছাকৃত বা অনিচ্ছাকৃত।
পাদটীকা :
(1) এই লিপিটি যথাসম্ভব নিরাপদ থাকতে হবে। ইনপুট এবং আরও চেক করুন। এটি সম্পূর্ণ অনুমতি দিয়ে কার্যকর করা হবে।
(২) আধুনিক সুডো ইনস্টলেশনতে, আপনি /etc/sudoers.d/ডিরেক্টরিতে একটি ফাইল যুক্ত করতে পারেন যা আরও ভাল --- আপডেটগুলি টিকে থাকবে।
(3) আমি sudo -iযখন sudoers প্রক্রিয়াটি পরিবর্তন করি এবং ব্যাকআপ ব্যবহার করি তখন আমি সাধারণত একটি রুট সেশন খোলা ( ) সহ একটি টার্মিনাল রাখি।
/var/tmp/foo=/etc/network/interfaces? আপনি সেখানে যা বলতে চাইছেন তা সত্যই কখনও দেখেনি, আমি লিনাক্সে বেশ নতুন।