ये उपयोगकर्ता कब बनाए गए थे?
जिन मामलों का आपने उल्लेख किया है, उनके मामलों में वे सिस्टम इंस्टालेशन में बनाए गए थे। ये उपयोगकर्ता खाते पारंपरिक हैं, कुछ वापस दशकों से। वे भी मानकीकृत हैं। लिनक्स मानक बेस उन्हें में विभाजित करता है:
- आवश्यक मानक उपयोगकर्ता, खातों
root, binऔर daemon; तथा
- वैकल्पिक मानक उपयोगकर्ता खाता
adm, lp, sync, shutdown, halt, mail, news, uucp, operator, man, औरnobody
अन्य उपयोगकर्ता खातों को यहाँ उल्लेख कर रहे हैं - pulse, avahi, colord, और Debian-exim(py4on का पासवर्ड फ़ाइल से एक चुनने) - अपने अगले प्रश्न के लिए हमें लाने के लिए।
इन नए कार्यक्रमों को कैसे स्थापित किया जा रहा है?
गैर-मानक उपयोगकर्ता खाते विभिन्न पैकेजों के लिए "अनुचर लिपियों" द्वारा बनाए और नष्ट किए जाते हैं, क्योंकि उन पैकेजों को स्थापित और शुद्ध किया जाता है। एक उपयोगकर्ता खाता पैकेज की तथाकथित postinstअनुचर स्क्रिप्ट द्वारा बनाया जाएगा , जो getentयह देखने के लिए चलता है कि क्या उपयोगकर्ता खाता पहले से मौजूद है, और useraddयदि ऐसा नहीं है। सिद्धांत रूप में इसे पैकेज की तथाकथित postrmअनुचर स्क्रिप्ट द्वारा हटा दिया जाएगा , चल रहा है userdel।
व्यवहार में, संकुल के लिए उपयोगकर्ता खाते हटाए नहीं जाते हैं। फेडोरा विकी (qv) बताते हैं कि यह कठिनाई से भरा होगा। कार्रवाई में इस तर्क के एक उदाहरण के लिए डेबियन बग # 646175 देखें , जहां यह तय किया जाता है कि पैकेज के शुद्ध होने पर उपयोगकर्ता खाते को हटाने के लिए नहींrabbitmq , उस खाते के तत्वावधान में चल रहे एक d thatmon के साथ एक समस्या को हल करने के लिए।
इन कार्यक्रमों की शुरुआत अलग-अलग यूआईडी से कैसे की गई?
यूनिक्स और लिनक्स के तहत, सुपरयुसर के तत्वावधान में चल रही एक प्रक्रिया अपने उपयोगकर्ता खाते को कुछ और में बदल सकती है और उसी कार्यक्रम को जारी रख सकती है, लेकिन रिवर्स की अनुमति नहीं है। (एक सेट-यूआईडी तंत्र का उपयोग करना चाहिए।)
D Themon प्रबंधन प्रणाली सुपरयुसर के रूप में चलती है। इसका कॉन्फ़िगरेशन डेटा निर्दिष्ट करता है कि विशेष उपयोगकर्ता खातों के तत्वावधान में चलने वाले विशेष डीमॉन:
- सिस्टम 5
rcके साथ स्क्रिप्ट /etc/init.dसहायक उपकरण जैसे कि start-stop-daemonऔर इसके --chuidविकल्प का उपयोग करती है।
- एक daemontools परिवार सेवा प्रबंधक के साथ,
runस्क्रिप्ट कॉल setuidgid, s6-setuidgid, chpst, या runuidउपयोगकर्ता खाते के नाम के साथ। Https://unix.stackexchange.com/a/179798/5132 में इसके उदाहरण हैं जो nagiosउपयोगकर्ता खाता सेट करते हैं।
- अपस्टार्ट के साथ
setuidएक जॉब फ़ाइल में एक श्लोक है, जो उपयोगकर्ता खाते को निर्दिष्ट करता है। यह विशेष रूप से ठीक नहीं है, और कभी-कभी कोई भी /superuser//a/723333/38062 पर वर्णित है जो चाहता है ।
- Systemd के साथ
User=सेवा इकाई फ़ाइल में एक सेटिंग होती है, जो उपयोगकर्ता खाते को निर्दिष्ट करती है।
जब d bemon प्रबंधन प्रणाली d thesemon होने के लिए एक प्रक्रिया पैदा करती है, तो ये तंत्र सुपरसुसर विशेषाधिकारों को छोड़ देते हैं ताकि d tomon प्रक्रिया अनपेक्षित उपयोगकर्ता खाते के तत्वावधान में चलती रहे।
वहाँ एक काफी लंबी व्याख्या है कि क्यों अच्छा प्रबंधन इस तरह से किया जाता है। लेकिन आपने यह क्यों नहीं पूछा; केवल कब, कैसे, और कहां। Very एक बहुत संक्षिप्त précis, इसलिए:
यूनिक्स और लिनक्स ऑपरेटिंग सिस्टम एक दूसरे से विभिन्न उपयोगकर्ता खातों के तत्वावधान में चलने वाली प्रक्रियाओं को प्रेरित करते हैं। ऐतिहासिक रूप से, यदि कोई सुपरमैन के रूप में दौडने वाले डूमन को लेने में सक्षम था, तो कोई भी ऐसा काम कर सकता है जो किसी को पसंद आए। दूसरी ओर, एक अप्रकाशित खाते के तत्वावधान में चलने वाला एक डूमन, केवल फाइलों, निर्देशिकाओं, उपकरणों, और उन प्रक्रियाओं तक पहुंच सकता है जो अप्रकाशित खाता कर सकते हैं। अलग-अलग उपयोगकर्ता खातों के तत्वावधान में चलने वाले और एक-दूसरे की (आंतरिक, विश्वसनीय) फाइलों / निर्देशिकाओं / प्रक्रियाओं / उपकरणों के उपयोग / नियंत्रण में असमर्थ होने के कारण पारस्परिक रूप से अविश्वास करने वाले सभी कार्यक्रमों की एक प्रणाली है, इसलिए यह दरार करना बहुत कठिन है।
आगे की पढाई