আমি জ্যাঙ্গো সাইট পরিচালনা করে একটি গ্যানিকর্ন প্রক্রিয়া পরিচালনা করতে তত্ত্বাবধায়ক ব্যবহার করেছি, যদিও এই প্রশ্নটি তত্ত্বাবধায়ক দ্বারা পরিচালিত কোনও কিছুর সাথে সম্পর্কিত হতে পারে। পূর্বে আমি আমাদের সার্ভারটি পরিচালনা ও ব্যবহার করতে সক্ষম একমাত্র ব্যক্তি ছিলাম এবং সুপারভাইজার কেবল রুট হিসাবে দৌড়ে যেতাম এবং supervisorctl restart myapp
প্রয়োজনে চালানোর জন্য আমি sudo ব্যবহার করতাম ।
এখন আমাদের সার্ভারকে বিভিন্ন সাইটগুলিতে কাজ করা একাধিক ব্যবহারকারীকে সমর্থন করতে হবে এবং প্রতিটি প্রকল্পে অন্যান্য ব্যবহারকারীর প্রক্রিয়াগুলি পুনরায় আরম্ভ করতে সক্ষম না হয়ে তাদের নিজস্ব বন্দুকের প্রক্রিয়া পুনরায় আরম্ভ করতে সক্ষম হওয়া প্রয়োজন।
আমি এই ব্লগ পোস্ট অনুসরণ:
http://drumcoder.co.uk/blog/2010/nov/24/running-supervisorctl-non-root/
এবং নন-রুট ব্যবহারকারীদের সুপারভাইসেক্টল ব্যবহার করার অনুমতি দিতে সক্ষম হয়েছিল, তবে এখন যে কেউ অন্য কারও প্রক্রিয়া পুনরায় আরম্ভ করতে পারবেন। এটির চেহারা থেকে, সুপারভাইজারের কাছে প্রতি ব্যবহারকারীর অ্যাক্সেস নিয়ন্ত্রণ করার কোনও উপায় নেই।
রুট ছাড়াই কেবল ব্যবহারকারীদের নিজস্ব প্রক্রিয়া পুনরায় চালু করার মঞ্জুরি দেওয়ার বিষয়ে কারও কোনও ধারণা রয়েছে?
সম্পাদনা: কিছু জিনিস যা আমরা ভেবেছিলাম সেগুলির মধ্যে রাইডের মালিকানাধীন একটি স্ক্রিপ্ট লিখে সুইড বিট সেটটি অন্তর্ভুক্ত যার মধ্যে কিছুই নেই supervisorctl restart myapp
এবং এটি ব্যবহারকারীর ডিরেক্টরিতে রেখে দেওয়া উচিত myapp
। ইন্টারনেট বলে মনে হচ্ছে যে ভুলভাবে করা গেলে এই জাতীয় স্ক্রিপ্টটি নিরাপত্তাহীন। আমরা একটি কাস্টম ডেমন রচনাও বিবেচনা করেছি যা নির্দিষ্ট ব্যবহারকারীর কাছ থেকে আদেশগুলি শুনে এবং যদি ব্যবহারকারীর অনুমতি থাকে তবে সুপারভাইজার প্রক্রিয়াটি পুনরায় চালু করে ar যদি একটি সহজ সমাধান কাজ করে তবে এই ধারণাটি অতিরিক্ত জটিল বলে মনে হচ্ছে।