আমার dba
গ্রুপের ব্যবহারকারীদের database@
পরিষেবাগুলি নিয়ন্ত্রণ করার অনুমতি দেওয়া দরকার । এই সম্পর্কিত প্রশ্নের উত্তরটি হ'ল কেবলমাত্র systemctl
"ক্রিয়াগুলি" তালিকাভুক্ত করা যা আমি sudoers
ফাইলে অনুমতি দিতে চাই , তবে তা আমার ক্ষেত্রে প্রযোজ্য না কারণ সিস্টেমে কোন ডাটাবেস থাকতে পারে তা আমি আগেই জানি না। উদাহরণস্বরূপ, যদি আমি তালিকা করি
%dba = /usr/bin/systemctl start database@awsesomeapp
%dba = /usr/bin/systemctl start database@anotherawsesomeapp
%dba = /usr/bin/systemctl start database@yetanotherawsesomeapp
%dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp
# ... other "verbs" omitted for brevity
এটি ভবিষ্যতে যে দৃষ্টান্তগুলি থাকতে পারে তা কভার করে না এবং একটি ডিবিএ সক্ষম হবে না
$ sudo systemctl start database@omgwowyetanotherawsesomeapp
যাইহোক, আমি একটি নির্দিষ্ট সিস্টেমের সাথে ফিডিংয়ের চেয়ে প্যাকেজিংয়ের ক্ষেত্রে আরও বেশি চিন্তা করছি।
মনে রাখবেন, অন্য সম্পর্কিত প্রশ্নের এই আশ্চর্যজনক উত্তরে যেমন দেখানো হয়েছে , এর জন্য sudo গ্লোব ব্যবহার করা চূড়ান্তভাবে নিরাপত্তাহীন:
%dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE!
অনুমতি দেয় না
$ sudo systemctl start database@awsesomeapp unrelatedservice
আমার সন্দেহ হয় ব্যবহার sudo
করা আমার সমস্যার সমাধান করবে না (যদিও আমি নিশ্চিত আশা করি আমি ভুল করছি)। রুটবিহীন ব্যবহারকারীদের systemd
পরিষেবা নিয়ন্ত্রণ করতে অন্য কোনও উপায় আছে কি ?
এটির মূল্যের জন্য, ভবিষ্যতে একটি CentOS 7 সিস্টেম এবং RHEL7 সিস্টেমে এটি করা আমার দরকার। আর্ক লিনাক্সে কাজ করা সমাধানগুলিতেও আমি আগ্রহী।