কেবলমাত্র একটি নির্দিষ্ট কমান্ডে sudo অ্যাক্সেস দেওয়া সম্ভব?


24

পটভূমি: আমার কাছে ল্যাম্প সেটআপ সহ একটি বিকাশ মেশিন রয়েছে। বেশ কয়েকটি বিকাশকারী সময়ে সময়ে মেশিনটি অ্যাক্সেস করতে পারে। যতবার তারা একটি কনফিগারেশন ফাইলে কিছু পরিবর্তন করতে তারা ব্যবহার Apache সার্ভার পুনরায় আরম্ভ করার প্রয়োজন হবে sudo service apache restartবাsudo /etc/init.d/apache2 restart

প্রশ্নটি:

আমি এখন যা চাই তা হ'ল প্রতিটি বিকাশকারী যিনি মেশিনটি অ্যাক্সেস করেন তার প্রত্যেকটিতে সুডো অ্যাক্সেস না থাকে। বরং, তিনি কেবলমাত্র serviceসুডো এবং অন্য কিছুই ব্যবহার করে কমান্ডটি চালাতে সক্ষম হবেন । ওটা করা কি সম্ভব?

উত্তর:


35

হ্যাঁ।

একটি নতুন গ্রুপ তৈরি করুন, ওয়েব করুন (আপনার ইচ্ছামত এটি কল করুন)

sudo addgroup web

আপনার বিকাশকারী (গুলি) ওয়েব গোষ্ঠীতে যুক্ত করুন (তাদের লগইন নামটি ব্যবহার করুন)।

sudo adduser your_developer_user web

তারপরে চালান sudo visudo -f /etc/sudoers.d/somefile(পরিবর্তে একটি অর্থবহ নাম ব্যবহার করুন somefile)।

একটি লাইনে যুক্ত করুন (কমান্ডের পুরো পথটি ব্যবহার করুন):

%web ALL=(ALL) /usr/bin/service apache2 *

ডেভেলপাররা তখন চালাতে পারে

sudo service apache

তাদের লগইন পাসওয়ার্ড ব্যবহার করে।

আপনার প্রশাসক ব্যবহারকারীকে ওয়েব গোষ্ঠীতে যুক্ত করবেন না।

অতিরিক্ত তথ্যের জন্য ম্যান সুডোর দেখুন


1
@ অঙ্কিত: যেভাবে webগ্রুপের ব্যবহারকারীরা কোনও পরিষেবা শুরু / বন্ধ করতে পারে এবং আপনি যা চান তা এটি নয়, আমার ধারণা। সমাধানটি হুবহু কমান্ডটি (পরামিতি সহ) রেখে দেওয়া উচিত /etc/sudoers
এনজোটিব

@ এঞ্জোটিব আমি কী তা বলতে পারি তার মানে নতুন কমান্ডটি /usr/bin/service apache2কী হবে?
অঙ্কিত

3
@ অঙ্কিত:/usr/bin/service apache2 *
এনজোটিব

এটিও সম্ভবত হওয়া উচিত/usr/sbin/service
এরফান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.