যদি আমি আপনার মন্তব্যগুলি সঠিকভাবে বুঝতে পারি তবে এখানে সমস্যাটি হ'ল কমান্ডটি এমন সংযোগের মাধ্যমে জারি করা হবে যা অনুরোধের ক্ষেত্রে ডিফল্ট হয়ে পাসওয়ার্ডটি প্রবেশ করার কোনও ক্ষমতা রাখে না। এছাড়াও, অনেকগুলি ওএস বিতরণে sudo একটি টিটিওয়াইয়ের প্রয়োজন হয় - যা এই প্রোগ্রামটির নাও থাকতে পারে।
তবে, sudo একটি খুব সূক্ষ্ম অনুমতিযুক্ত কাঠামো থাকতে সক্ষম হয়েছে, এটি এক বা একাধিক ব্যবহারকারীকে পাসওয়ার্ড এবং টিটিওয়াই ছাড়াই একটি নির্দিষ্ট কমান্ড দেওয়ার অনুমতি দেয়। নীচে, আমি আপনার প্রয়োজনের জন্য এটি কনফিগার করার জন্য তিনটি উপায় দেখাব। আপনি যে কোনও একটি চয়ন করুন, ব্যবহারকারী এখন sudo rndc reload
কোনও পাসওয়ার্ড প্রবেশ না করেই কমান্ডটি সরবরাহ করতে সক্ষম হবে ।
(এছাড়াও এটি অপ্রয়োজনীয় হতে পারে, তবে ... দয়া করে আপনার sudoers ফাইলের সম্পাদনা করার আগে একটি ব্যাকআপ অনুলিপি তৈরির কথা মনে রাখবেন, ব্যাকআপে ফিরে যাওয়ার প্রয়োজনে এমন শেল আপনি যেখানে খুলেছেন তা রাখতে, এবং সম্পাদনা করার জন্য এটি ব্যবহার visudo
পরিবর্তে sudo vi /etc/sudoers
। আশা রাখি, এই সতর্কতা অপ্রয়োজনীয় হতে হবে, কিন্তু ... ভাল তাদের আছে এবং বিপরীত চেয়ে তাদের প্রয়োজন নয়!)
1. আপনি যদি কোনও অনুরোধের জন্য টিটিওয়াইয়ের প্রয়োজন না চান
সবচেয়ে সহজ উপায় পির TTY প্রয়োজনীয়তা পরিত্রাণ পেতে (যদি থাকে) নিশ্চিত যে লাইন দিয়ে শুরু করা হয় Defaults
মধ্যে /etc/sudoers
শব্দ ধারণ করে না requiretty
- পরিবর্তে, এটা থাকা উচিত !requiretty
। তবে, আপনি যদি এটি করেন তবে এর অর্থ কোনও sudo কমান্ডের জন্য tty প্রয়োজন হবে না !
আপনারও লাইন যুক্ত করতে হবে
rndcuser ALL = (root) NOPASSWD: /path/to/rndc reload, /path/to/dnssec-keygen, /path/to/other/program
২. আপনি যদি এটি বাদে সমস্ত ব্যবহারকারীর জন্য টিটিওয়াই লাগাতে চান
এটির মতো এই একজন ব্যবহারকারীর জন্য ডিফল্ট সেট করে এটি করা যেতে পারে:
Defaults:rndcuser !requiretty
rndcuser ALL = (root) NOPASSWD: /path/to/rndc reload, /path/to/dnssec-keygen, /path/to/other/program
৩. আপনি যদি এই ব্যবহারকারীর দ্বারা এই কমান্ড ব্যতীত সমস্ত কমান্ডের জন্য একটি টিটিওয়াইকে পুনরায় স্থান পেতে চান
এটি কিছুটা জটিল, sudoers ফাইলের সিনট্যাক্সের কারণে। কমান্ডের জন্য আপনাকে একটি কমান্ড উরফ তৈরি করতে হবে এবং তারপরে সেই আদেশের নামটির জন্য একটি ডিফল্ট সেট করতে হবে:
Cmnd_Alias RNDC_CMD = /path/to/rndc reload, /path/to/dnssec-keygen, /path/to/other/program
Defaults!RNDC_CMD !requiretty
rndcuser ALL = (root) NOPASSWD: RNDC_CMD
sudo
জন্য অনেক বেশি ।sudo
এই জন্য তার ব্যবহার সম্পর্কে আপনার ব্যবসায়ীয় আপত্তিগুলি কী ?