কীভাবে অগ্রগতিজনিতভাবে sudoers ফাইলে নিরাপদ_পথ যুক্ত করা যায়


11

আমি ইসি 2 উদাহরণের জন্য একটি ব্যবহারকারী ডেটা স্ক্রিপ্ট তৈরি করার চেষ্টা করছি যা গিথুব থেকে নোড এবং এনপিএম তৈরি করে এবং তারপরে একটি পরিষেবা শুরু করে। এই চাকাগুলি গ্রীস করতে, আমাকে যুক্ত করতে হবে:

:/usr/local/bin

/ etc / sudoers এর লাইনের শেষে যা শুরু হয়:

Defaults        secure_path="

/superuser/927512/how-to-set-path-for-sudo- কম্যান্ডগুলি এটি অর্জনের জন্য ভিজুডো ব্যবহারের বিষয়ে কথা বলেছে, তবে আমি ইসি 2 ব্যবহারকারীর ডেটাতে প্রোগ্রামক্রমে এটি করতে চাই।

/programming/16282789/adding-sudo-permission-to-sudoers-for-user-via-shell-script sudoers ফাইল সম্পাদনা করার বিষয়ে কথা বলেছে, তবে আমি যা চেষ্টা করছি তার জন্য এটি বেকড দেখে মনে হবে না অর্জন করতে.

আমি ভেবেছিলাম লাইনটি গ্রেপ করা এবং এটি প্রতিস্থাপন করা সহজ হবে তবে আমি স্টাম্পড আছি। কেবল সেই বিরক্তিকর ক্লোজিং ইনভার্টেড কমা নয়!

উত্তর:


6

আপনি যদি secure_pathমানটি যুক্ত করার পরিবর্তে মান প্রতিস্থাপনের সাথে বেঁচে থাকতে পারেন তবে আপনি আরও সহজ সমাধানটি ব্যবহার করতে পারেন। সাধারণত সুডোর একটি কনফিগার ডিরেক্টরি থাকে /etc/sudoers.dযেখানে আপনি অতিরিক্ত কনফিগারেশন ফাইলগুলি ফেলে দিতে পারেন।

আপনার সম্পূর্ণ secure_pathমান সহ কেবল একটি ফাইল তৈরি করুন :

Defaults secure_path="<default value>:/usr/local/bin"

এটি মূল কনফিগারেশন থেকে মানটিকে ওভাররাইট করে। আপনার সমস্ত মেশিনের জন্য যদি পাথ মান একই হয় তবে এটি সহজে স্ক্রিপ্ট বা প্যাকেজ সহ স্থাপন করা যেতে পারে।

এটির অতিরিক্ত সুবিধা রয়েছে যা ভবিষ্যতে sudo প্যাকেজ আপডেট হওয়ার পরে আপনাকে কনফিগার ফাইলগুলি চেক করতে এবং সম্ভাব্যভাবে মার্জ করতে হবে না।


2

ধরে নেওয়া আপনার নিরাপদ_পথ সহ লাইনটি বিদ্যমান, এটি করার জন্য একটি সহজ সিড কমান্ড

sed -i -e '/secure_path/ s[=.*[&:/usr/local/bin[' /etc/sudoers

বা কিছুটা পরিশীলিত (ইনপুটটিতে আরও সিনট্যাক্স চেক):

sed -i -r -e '/^\s*Defaults\s+secure_path/ s[=(.*)[=\1:/usr/local/bin[' /etc/sudoers
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.