আমি একজন ব্যবহারকারীর গ্রেপ চালানোর অনুমতি দিতে চাই (সুডোর মাধ্যমে), এবং একটি নির্দিষ্ট ফাইলে একটি নির্দিষ্ট স্ট্রিংয়ের জন্য গ্রেপ করতে। আমি এই ব্যবহারকারীর সমস্ত ফাইলের গ্রেপ চালাতে সক্ষম হতে চাই না। ব্যবহারকারীর ফাইলে পঠিত অ্যাক্সেস নেই, সুতরাং সুডো ব্যবহারের প্রয়োজন। আমি একটি নাগিওগুলি লেখার চেষ্টা করছি যা মেশিনে অন্য কোনও পরিষেবার লগ ফাইলটি গ্রেপ করে।
তবে এটি কাজ করে না, sudo একটি পাসওয়ার্ড চাইছে।
আমার আদেশটি হ'ল: sudo grep "string I want (" /var/log/thefilename.log(হ্যাঁ, (স্ট্রিংয়ের একটি কাঁচা এবং কিছু ফাঁকা জায়গা আমি গ্রেপ করতে চাই)
/etc/sudoers.d/user-can-grep এই বিষয়বস্তু আছে:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
এই sudoers ফাইলের মালিকানা root:rootরয়েছে এবং এর অনুমতি রয়েছে-r--r-----
সার্ভারটি উবুন্টু বিশ্বস্ত 14.04.3 এলটিএস।
আমি এই কাজটি কীভাবে করব?
sudo।
grepএবং which grepআমাকে বলছে এটি ব্যবহার করছে /bin/grep। সুডো ফাইলে AFAIK আপনাকে বাইনারিটির পুরো পথ নির্দিষ্ট করতে হবে, এমনকি যদি আপনি এটি পুরো পাথ ছাড়াই কল করেন।