अजगर स्क्रिप्ट के अंदर व्यवस्थापक अधिकारों की जाँच करें


15

कैसे जांचें कि मेरी अजगर स्क्रिप्ट BSD जैसी ओएस के तहत प्रशासक अधिकार (sudo) के तहत चल रही है? उपयोगकर्ता के अनुकूल चेतावनी को प्रदर्शित करने की आवश्यकता है ताकि यह बिना व्यवस्थापक अधिकारों के निष्पादित हो।

जवाबों:


37

इस बारे में कैसा है? अगर जाँच करें uid == 0:

[kbrandt@kbrandt-admin: ~] python -c 'import os; print os.getuid()'
196677

[kbrandt@kbrandt-admin: ~] sudo python -c 'import os; print os.getuid()'
0

1
मैं वास्तव में इसे छोटा कर दिया :-)। मैं लिनक्स प्रमाणीकरण के लिए खुले का उपयोग करता हूं, जो विंडोज एसआईडी को हैशिंग द्वारा एक बड़ा यूआईडी बनाता है।
काइल ब्रान्ड

3

उस एक के बारे में कैसे:

import os
username=os.system("whoami")
if username is not "root":
    print "You aren't root"
else:
    print "Hello, "+username

2

स्ट्रिंग "रूट" के खिलाफ एक उपयोगकर्ता नाम से मिलान करने के लिए परीक्षा न करें।

आम तौर पर आपको या तो यूआईडी के शाब्दिक प्रतिनिधित्व को प्राप्त करने के लिए कम कुशल कॉलआउट प्रदान करना होगा या आप पर्यावरण चर पर भरोसा करेंगे जो इतना भरोसेमंद नहीं हो सकता है।

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