Syslog सेवा, जो कर्नेल द्वारा बनाई गई लॉग संदेश और अन्य सेवाओं द्वारा विभिन्न लॉग फ़ाइलों, कंसोल और / या अन्य गंतव्यों को लिखती है, अपने स्वयं के, विशेष उपयोगकर्ता खाते के अंतर्गत चलती है। इसलिए कई अन्य सेवाएं करें। यह कम से कम विशेषाधिकार के सिद्धांत को लागू करना है :
किसी समझौता या दोषपूर्ण सेवा के संभावित प्रभाव को कम करने के लिए (जैसे कि एक ऐसी सेवा जिसमें बग होता है, जो हमलावर द्वारा शोषण किया जाता है, या ऐसी सेवा जिसमें बग होता है, जिसका कारण यादृच्छिक अवांछित चीजें, या एक सेवा है खराब काम करने के लिए जानबूझकर डेवलपर द्वारा डिज़ाइन किया गया है), आप चाहते हैं कि प्रत्येक सेवा को केवल उसके संचालन के लिए उपयोग करना चाहिए और इसके लिए कुछ और नहीं।
किसी भी यूनिक्स जैसी ऑपरेशन प्रणाली (जिसमें उबुन्टू जैसे सभी जीएनयू / लिनक्स वितरण शामिल हैं), आप सबसे आसानी से प्राइवेटलाइजेस असाइन कर सकते हैं (जो कि ज्यादातर कुछ फाइलों या फाइल-जैसी चीजों को पढ़ने और / या लिखने का अधिकार है जैसे कि डिवाइस नोड्स) उपयोगकर्ताओं और समूहों के आधार पर। अन्य संभावनाएं हैं, लेकिन वे अक्सर अधिक थकाऊ और त्रुटि-प्रवण होते हैं, या केवल विशिष्ट संदर्भों में काम करते हैं।
तो, syslog सेवा syslog उपयोगकर्ता खाते के अंतर्गत चलती है। यदि अब, उदाहरण के लिए, एक हमलावर syslog सेवा प्राप्त कर सकता है, तो वे यह बताएंगे कि यह क्या माना जाता है के बजाय यह बताता है कि, syslog सेवा अभी भी प्रतिबंधित है (उपयोगकर्ता खाते के आधार पर कर्नेल द्वारा लागू किया गया है, जो syslog द्वारा लागू नहीं किया गया है सॉफ्टवेयर ही है, जो बेकार हो जाएगा क्योंकि यह समझौता है) केवल लॉग फाइलों (केवल उन फाइलों को लिखने के लिए, जिनके पास syslog उपयोगकर्ता की पहुंच है)। इस प्रकार, हमलावर एक ही कंप्यूटर पर होस्ट की गई वेबसाइट या डेटाबेस की सामग्री को बदलने के लिए समझौता किए गए syslog सेवा का उपयोग नहीं कर सकता है, क्योंकि प्रासंगिक फाइलें केवल अन्य (मानव या सिस्टम ) उपयोगकर्ता के कुछ विशेष सेट द्वारा लिखने योग्य हैं खाता, syslog उपयोगकर्ता खाते द्वारा नहीं।
लॉग फ़ाइलों को केवल हटाने / संशोधित करने और "सार्वजनिक" फ़ाइलों को पढ़ने (सभी के लिए "पढ़ने" की अनुमति के साथ) की तुलना में अधिक नुकसान पहुंचाने के लिए, हमलावर को पहले एक दूसरी बग का उपयोग करने की आवश्यकता होगी, या तो कर्नेल में या कुछ सॉफ़्टवेयर में। उस उपयोगकर्ता के अलग-अलग विशेषाधिकारों के साथ चलाने के लिए स्थापित किया गया है जिसने इसे लागू किया है ( सेट्यूड ), और इस प्रकार अतिरिक्त विशेषाधिकार ( विशेषाधिकार बढ़ा )।
आपके
मैन पेज केusers
अनुसार आपके द्वारा उपयोग की गई कमांड , केवल उन उपयोगकर्ताओं को दिखाती है जो
वर्तमान में लॉग इन हैं । चूंकि syslog उपयोगकर्ता एक
सिस्टम उपयोगकर्ता है , यह कभी भी लॉग इन नहीं करेगा, इसलिए यह इस सूची में कभी नहीं दिखाई देगा। आप फ़ाइल में देख सकते हैं या अपने सिस्टम पर
सभी (मानव और सिस्टम) उपयोगकर्ताओं की सूची प्राप्त करने के लिए
यहां वर्णित किसी भी अन्य तरीके का उपयोग कर सकते हैं ।
/etc/passwd