मेरे कस्टम प्रोग्राम को रूट करें


0

मेरे पास C में एक कस्टम प्रोग्राम है, जो एक निर्देशिका को गर्त में प्रसारित करता है और मेरे घर में सामग्री के साथ एक लॉग फाइल लिखता है। हालाँकि, यह / var / log / / etc / और अन्य रूट फ़ोल्डरों को acces नहीं कर सकता है। उसे कैसे बदला जाए? यह वर्तमान में एक गैर रूट उपयोगकर्ता द्वारा प्रसिद्ध है myname: myname myprogram। किसी भी जानकारी यह कैसे बनाने के लिए रूट की तरह?

जवाबों:


4

यदि आप रूट के रूप में चलाने का प्रोग्राम चाहते हैं, तो इसे रूट के रूप में शुरू करें। या तो रूट के रूप में लॉगिन करें suया उपयोग करें या sudo

जब तक setuidझंडा नहीं लगाया जाता तब तक मालिक अप्रासंगिक है। हालांकि जागरूक रहें: यह बहुत खतरनाक setuidहो सकता है क्योंकि यह हमेशा रूट के रूप में चलेगा (या जो भी उपयोगकर्ता फ़ाइल का मालिक है)। यदि आपके प्रोग्राम में भेद्यताएँ हैं, तो एक हमलावर सिस्टम का पूर्ण नियंत्रण हासिल करने के लिए इसका उपयोग कर सकता है। इसके अलावा, यदि फ़ाइल एक संरक्षित निर्देशिका में सम्‍मिलित नहीं है, तो निर्देशिका लिखने की अनुमति वाला उपयोगकर्ता मालिकों को बदल सकता है जैसे वह पसंद करता है।

ध्वज सेट करने के लिए उपयोग chmod 4xxx <file>(जहां xxx"नियमित" मोड है) setuid। आधुनिक कार्यान्वयन भी समर्थन करते हैंchmod u+s <file>


मैंने इसे जड़ के रूप में चलाया। अनुमति के मुद्दों के कारण कार्यक्रम पूरी तरह से / var / log / dir याद करता है। मेरा कार्यक्रम u + x के साथ चामोद-एड है और / usr / लोकल / बिन / में है
इलियान जैपिरानोव

यदि आपका प्रोग्राम रूट के रूप में चल रहा है, तो इसकी अनुमति नहीं है, यह प्रोग्राम को उस फ़ोल्डर के माध्यम से चलने से रोक रहा है।
रामहाउंड

ठीक है, फिर क्या? कुछ विहंगो आश्रित? फेडोरा 21 वह है जो मैं उपयोग करता हूं।
इलियान जैपिरानोव

@IliZapryanov यदि आप एक शेल को रूट के रूप में शुरू करते हैं, तो क्या आप अंदर / var / लॉग देख सकते हैं?
dsolimano

@dsolimano हाँ, / var / लॉग को सामान्य दिखाया गया है।
इलियान जैपिरानोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.