पृष्ठभूमि कार्यों को कवर करने वाले RailsCasts एपिसोड की एक श्रृंखला थी।
आपकी समस्या के लिए सबसे उपयुक्त रूप से शायद "पृष्ठभूमि में रेक" हो सकता है, जो हो सकता है एक अच्छा प्रारंभिक बिंदु? जैसा कि नाम से पता चलता है, इसमें रेल पर रूबी से रेक कार्यों को ट्रिगर करना शामिल है।
सिस्टम-सेटिंग्स को बदलने का सबसे स्पष्ट समाधान रूट के रूप में एक डेमॉन चलाना होगा, जो कुछ (बहुत सीमित और सख्ती से sanitized) इनपुट स्वीकार करता है, जैसे नया होस्टनाम, या सर्वर के लिए नया आईपी पता .. दूसरा एपिसोड "स्टार्लिंग और वर्कलिंग" और " कस्टम डेमॉन " इससे भी मदद कर सकता है।
एक क्लीनर समाधान sudo
का उपयोग करना होगा। ऐसा करने के लिए दो (समान) तरीके हैं जिन पर मैं सोच सकता हूं:
कुछ आदेशों (जैसे hostname
, ifconfig
) पर sudo पहुंच को अनुमति दें जो उपयोगकर्ता को रेक कार्य चलाएगा। इसमें बड़ी सुरक्षा समस्याएं हो सकती हैं। इसका मेरा पसंदीदा उदाहरण सुडो को विम तक पहुंचने की इजाजत देता है, जो कि जब तक आप sudo vim
चलाते हैं, तब तक ! Bash
चलाते हैं और अचानक आपके पास मशीन पर पूर्ण-रूट पहुंच होती है पाठ संपादक के माध्यम से ..
दूसरी तरफ (सुरक्षित रूप से करना आसान है) - एक रेक कार्य (या कुछ अलग स्क्रिप्ट) है जो आवश्यक कार्यों को निष्पादित करता है (उदाहरण के लिए होस्टनाम बदल रहा है)। कहें, /usr/bin/myapp_systemtasks
root: root
के स्वामित्व में है, फिर उस स्क्रिप्ट तक सुडो पहुंच की अनुमति दें। सुनिश्चित करें कि स्क्रिप्ट स्वीकार करने वाले इनपुट को सुरक्षित करने के लिए आप बहुत सावधान हैं (शैल-एस्केपिंग जैसी चीज़ों को रोकने के लिए)।
तो, ऐसा करने के तरीके हैं, लेकिन दिन के अंत में आप सिस्टम-स्तरीय कॉन्फ़िगरेशन के लिए वेब-इंटरफ़ेस बना रहे हैं, जो सुरक्षित रूप से करना बहुत मुश्किल है .. जो भी आप करने का निर्णय लेते हैं, सुनिश्चित करें कि यह अच्छी तरह से परीक्षण किया गया है ( आपके द्वारा, और अन्य)