আমি নন-রুট অ্যাকাউন্ট থেকে রুট ক্রিয়াগুলি কীভাবে সম্পাদন করব?


15

আমি পিএইচপি স্ক্রিপ্ট থেকে পরিষেবাগুলি পুনরায় চালু করতে সক্ষম হতে চাই। www- ব্যবহারকারীর অ্যাকাউন্টের অধীনে চলছে।

এই ক্রিয়াগুলি সম্পাদন করার পছন্দের উপায় কী?

আমি পুনরায় আমি ক্যানড কমান্ডের সাহায্যে একটি ফাইল তৈরি করতে পারি, সিআরএন দ্বারা পঠিত, তবে সমাধানটি চুলকায়।

আমি যা ভাবছি তা হ'ল একটি ক্ষুদ্র পরিষেবা, মূলের অধীনে চলমান, পূর্বনির্ধারিত "পদ্ধতিগুলি" মঞ্জুর করে যাতে স্বেচ্ছাচারী রুট ক্রিয়াগুলি কার্যকর করা যায় না।

এই জন্য কোন সরঞ্জাম আছে?


@ ম্যাডহ্যাটার, মোনা লিসা তার শুভেচ্ছা পাঠান, ;-)
ব্যবহারকারী 65297

উত্তর:


27

আপনি চাকাটি পুনরায় উদ্ভাবন করতে পারেন, তবে সত্যি বলতে আমি এর জন্য পাসওয়ার্ডহীন সুডো ব্যবহার করি। উদাহরণস্বরূপ, হার্ডওয়্যার RAID পরীক্ষা করার জন্য আমার মনিটরিং সিস্টেমে একটি কমান্ড চালাতে সক্ষম হওয়া দরকার। এর জন্য মূল অধিকার প্রয়োজন, তবে আমি গোটা মনিটরিং সিস্টেমকে রুট হিসাবে চালাতে চাই না, তার পরিবর্তে আমার বলার মতো sudoersএকটি লাইনে রয়েছে

nagios  ALL=(root) NOPASSWD: /usr/lib/nagios/plugins/check_md_raid

এবং তারপরে sudo /usr/lib/nagios/plugins/check_md_raidনিরীক্ষণ ব্যবহারকারী হিসাবে কমান্ডটি চালান , যখন আমাকে RAID পরীক্ষা করা দরকার।

আপনি একটি sudoers লাইন যে বলা হতে পারে

www-user    ALL=(root) NOPASSWD: /etc/rc.d/init.d/myservice

তারপরে পিএইচপি এক্সিকিউট করুন sudo /etc/rc.d/init.d/myservice restart


2
এটিই আইএমও যাওয়ার উপায়। আমি এই প্রক্রিয়াটি একই জাতীয় কাজের জন্য ব্যবহার করেছি। এটি 3 বছরেরও বেশি সময় ধরে প্রযোজনায় রয়েছে। কিছুই কখনও ব্যর্থ হয় নি এবং সুরক্ষা ঝুঁকি যতক্ষণ না আপনি পিএইচপি কোড সুরক্ষিত করেন না যতক্ষণ না এটি আপনার অ্যাপ্লিকেশন যুক্তির সাথে এটি সঠিকভাবে ট্রিগার করে।
অ্যান্ড্রু এনসলে

1
ধন্যবাদ, sudoers আমার কাছে নতুন এবং লক্ষ্য লক্ষ্য করে। @ অ্যান্ড্রু, অতিরিক্ত তথ্যের জন্য ধন্যবাদ
ব্যবহারকারী 65297

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

1
আপনার sudoers ফাইলে আপনার "ডিফল্ট আবশ্যকতা" রেখাটিও মন্তব্য করতে হবে। এই পদক্ষেপটি আমাকে কয়েকবার অর্জন করেছে। (উদাহরণস্বরূপ "ডিফল্ট আবশ্যকিকে" "# ডেফাল্টস হুঙ্কেটি" তে পরিবর্তন করুন)
স্টিভ.লিপার্ট

6

কটাক্ষপাত উবুন্টু : এটা কর্মের যে (আপনার ক্ষেত্রে রুট) অন্য ব্যবহারকারী হিসেবে সম্পাদনা করা যেতে পারে নির্দিষ্ট করার অনুমতি দেয়।

উদাহরণস্বরূপ আপনি এগুলিতে যুক্ত করতে পারেন /etc/sudoers(সরাসরি ফাইলটি ব্যবহার করবেন না visudo)

www-user-account ALL= NOPASSWD: /usr/bin/mypredefinedaction

man sudoফাইলটির বিশদ এবং সিনট্যাক্সের জন্য দেখুন


2
আপনি /etc/sudoersফাইলটি সম্পাদনা করার সময় খুব সাবধান হন । যদি এটি কোনওভাবে সিনট্যাক্টিক্যালি ভুলভাবে হয় তবে এটিকে ফিরে পরিবর্তন করা দুঃস্বপ্ন বি / সি sudoএটির মধ্যে আপনাকে ফিরে আসতে হবে তবে আপনি বি / সি করতে পারবেন না আপনি কেবল সুডো নিশ্চিহ্ন করে দিয়েছেন। আপনার একটি রেসকিউ সিডি / ডিভিডি ব্যবহার করতে হবে এবং নিজেই পার্টিশনটি মাউন্ট করতে হবে।
puk

1
@ পুক আসলে শড্ডারদের সম্পাদনা করতে আপনার রুট অ্যাক্সেসের প্রয়োজন এবং ফাইলটি ক্ষতিগ্রস্থ হলে আপনি রুট হিসাবে লগ ইন করতে পারেন এবং তারপরে এটি পুনরুদ্ধার করতে পারেন (ব্যাকআপ কপি থেকে) বা ম্যানুয়ালি এটি ঠিক করতে পারেন। ভিজুডো ফাইলটি লেখার আগে স্যানিটি পরীক্ষা করে।
মাত্তেও

কি shudders? এটি সত্য ভিজুডো স্যানিটি পরীক্ষা করে, তবে ক্ষতি হওয়ার পরে তারা কোনও সহায়তা করে না: পি
পুক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.