यह कमांड सुपर है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
सुपर - सेतुइड रूट कमांड निष्पादित करें।
SYNOPSIS
एक आदेश निष्पादित करने के लिए:
सुपर [-आर रेकपथ] आदेश [ आर्ग ]
सुपर [-आर रेकपथ] -o पथ [ आर्ग ]
आदेश [ आर्ग ]
उपलब्ध आदेशों को सूचीबद्ध करने के लिए:
सुपर [-H|-f] [-S]
उपयोग और/या संस्करण जानकारी के लिए:
सुपर [-h] [-V]
डिबगिंग और विकास के लिए:
सुपर -b
सुपर -c [ अतिफ़ाइल ]
सुपर [-d|-D|-t] [-S] [मास्क विकल्प] [-H|-f|आदेश...]
मास्कविकल्प:
-F पट्टिका
-T hh: मिमी/दिन का नाम
-G gid
-U यूआईडी
-M मच
वर्णन
सुपर निर्दिष्ट उपयोगकर्ताओं को स्क्रिप्ट (या अन्य कमांड) को निष्पादित करने की अनुमति देता है जैसे कि वे रूट थे;
या यह पहले प्रति-कमांड आधार पर यूआईडी, जीआईडी और/या पूरक समूह सेट कर सकता है
आदेश निष्पादित करना. इसका उद्देश्य स्क्रिप्ट को सेटयूइड बनाने का एक सुरक्षित विकल्प होना है
जड़। सुपर सामान्य उपयोगकर्ताओं को दूसरों द्वारा निष्पादन के लिए कमांड की आपूर्ति करने की भी अनुमति देता है; इन
कमांड की पेशकश करने वाले उपयोगकर्ता के यूआईडी, जीआईडी और समूहों के साथ निष्पादित करें।
सुपर एक `` से परामर्श करता हैसुपर.टैब'' फ़ाइल यह देखने के लिए कि क्या उपयोगकर्ता को अनुरोध निष्पादित करने की अनुमति है
आदेश. यदि अनुमति मिल जाये तो सुपर निष्पादित करेंगे PGM [ आर्ग ], कहाँ पे PGM कार्यक्रम है
जो इससे जुड़ा है आदेश। (रूट को डिफ़ॉल्ट रूप से निष्पादन की अनुमति है, लेकिन कर सकते हैं
यदि कोई नियम रूट को बाहर करता है तो भी इसे अस्वीकार कर दिया जाएगा। सामान्य उपयोगकर्ताओं को निष्पादन की अनुमति नहीं है
चूक जाना।)
ए में प्रविष्टि का सबसे आम प्रकार सुपर.टैब फ़ाइल जोड़े एक सरल आदेश पंजीकरण शुल्क PGM पथ।
लेकिन वास्तव में, आदेश में सुपर.टैब फ़ाइल को वास्तव में एक पैटर्न के रूप में माना जाता है, और कोई
उपयोगकर्ता द्वारा दर्ज किया गया कमांड जो इस पैटर्न से मेल खाता है, संबंधित का कारण बनता है PGM निष्पादित किए जाने के लिए।
यदि सूचीबद्ध है PGM इसमें एक तारांकन चिह्न होता है, फिर तारांकन चिह्न को कमांड से बदल दिया जाता है
उपयोगकर्ता द्वारा दर्ज किया गया. इसका एक उपयोग किसी भी प्रोग्राम को एक निश्चित डायरेक्टरी में रहने देना है
उपयोगकर्ता द्वारा निष्पादित. उदाहरण के लिए, यदि प्रविष्टि में कमांड/पीजीएम जोड़े हैं
कमांड पैटर्न कार्यक्रम
स्क्रिप्ट/* → /usr/स्थानीय/सुपर/*
* → /usr/स्थानीय/somedir/*
फिर किए गए अनुवाद हैं
उपयोगकर्ता का आदेश निष्पादित कार्यक्रम
स्क्रिप्ट/xyz → /usr/local/super/scripts/xyz
xyz → /usr/local/somedir/xyz
कुछ कमांड केवल उपयोगकर्ता द्वारा अपना पासवर्ड दर्ज करने के बाद ही चलाए जा सकते हैं। ये आदेश
फिर कुछ समाप्ति समय तक कई बार चलाया जा सकता है, जिस बिंदु पर पासवर्ड
पुनः दर्ज करने की आवश्यकता है। पासवर्ड-आवश्यक आदेशों और पासवर्ड की सूची
अवधियाँ उसी फ़ाइल में सेट की जाती हैं जो प्रत्येक कमांड के लिए वैध उपयोगकर्ताओं को रिकॉर्ड करती है।
If आदेश का एक प्रतीकात्मक लिंक (या हार्ड लिंक भी) है सुपर प्रोग्राम, फिर टाइपिंग
% आदेश आर्ग
टाइपिंग के बराबर है
% सुपर आदेश आर्ग
( आदेश नहीं होना चाहिए सुपरया, सुपर यह नहीं पहचान पाएगा कि इसे a के माध्यम से लागू किया जा रहा है
जोड़ना।)
सुपर बिना किसी तर्क के उन आदेशों की सूची प्रदर्शित करेगा जिन्हें निष्पादित किया जा सकता है
उपयोगकर्ता.
सुरक्षा के लिए, निष्पादन से पहले निम्नलिखित सावधानियां बरती जाती हैं:
(ए) 0,1,2 को छोड़कर सभी डिस्क्रिप्टर बंद हैं;
(बी) उपयोगकर्ता के सभी पर्यावरण चर हटा दिए जाते हैं, TERM, LINES और को छोड़कर
कॉलम। यदि TERM में {-/:+._a-zA-Z0-9} के अलावा कोई वर्ण है, तो यह है
बाहर किया हुआ। यदि LINES या COLUMNS में [0-9] के अलावा कोई अन्य वर्ण है, तो यह है
बाहर किया हुआ। इनके लिए उचित मूल्य जोड़े गए हैं:
उपयोगकर्ता और लॉगनाम: दोनों वास्तविक यूआईडी से जुड़े उपयोगकर्ता नाम पर सेट हैं
के अंतर्गत कार्यक्रम चल रहा है सुपर;
होम: चल रहे उपयोगकर्ता की लॉगिन निर्देशिका पर सेट करें सुपर;
ORIG_USER, ORIG_LOGNAME, ORIG_HOME: USER, LOGNAME और HOME के मान
उस उपयोगकर्ता का संदर्भ लें जिसने आह्वान किया था सुपर. (इन मूल्यों की गणना की जाती है सुपर,
और कॉलर द्वारा निर्धारित मान नहीं हैं, इसलिए वे एक विश्वसनीय विवरण हैं
कॉल करने वाले का. ये आम तौर पर USER, LOGNAME और जैसे समान मान होते हैं
होम, लेकिन यदि सुपर कमांड पहले यूआईडी या जीआईडी बदलता है तो वे भिन्न होंगे
कार्यक्रम को क्रियान्वित करना.);
आईएफएस: रिक्त, टैब, न्यूलाइन पर सेट;
पथ: पर सेट करें / bin:/ Usr / bin.
सुपरसीएमडी: पर सेट करें आदेश.
अतिरिक्त पर्यावरण चर जैसा कि निर्दिष्ट है सुपर.टैब फ़ाइल (नीचे देखें)।
(सी) सभी सिग्नल हैंडलिंग को डिफ़ॉल्ट पर रीसेट कर दिया गया है।
If सुपर बिना तर्क के निष्पादित किया जाता है, यह उपयोगकर्ता द्वारा दिए गए आदेशों को प्रिंट करेगा
निष्पादित करें, प्रति पंक्ति एक आदेश। सुपर -H प्रत्येक कमांड का एक लंबा-चौड़ा विवरण प्रिंट करता है
जिसे उपयोगकर्ता निष्पादित कर सकता है।
RSI CmdPat कमांड पैटर्न है, और पूरा रास्ता वह पूर्ण पथ है जिसे निष्पादित किया जाएगा।
सुपर.टैब फ़ाइल उन प्रारंभिक तर्कों को निर्दिष्ट कर सकती है जो उपयोगकर्ता द्वारा प्रदत्त किसी भी तर्क से पहले होते हैं
तर्क; ये तर्क, यदि कोई हों, बाद में मुद्रित किए जाते हैं पूरा रास्ता स्तंभ.
उपयोगकर्ता परिभाषित सुपर.टैब फ़ाइलें
सामान्य उपयोगकर्ता अपनी स्वयं की सुपर फ़ाइलें प्रदान कर सकते हैं। इससे यूजर्स अच्छी तरह से नियंत्रित होकर दे सकते हैं
setuid/setgid उनके कार्यक्रमों तक पहुंच: जो उपयोगकर्ता कार्यक्रम पेश करता है उसे आश्वासन मिलता है
सुरक्षित IFS सेटिंग्स, सुरक्षित पर्यावरण चर सेटिंग्स, आदि; और उपयोगकर्ता जो निष्पादित करता है
प्रोग्राम जानता है कि यह पेशकश करने वाले उपयोगकर्ता के यूआईडी और जीआईडी के तहत निष्पादित होगा। यदि एक
आदेश फॉर्म में दर्ज किया गया है
सुपर लॉगिन नाम:सीएमडी
सुपर की खोज सीएमडी फ़ाइल में .supertab, खाते की होम निर्देशिका में लॉगिन नाम.
RSI सीएमडी उपयोगकर्ता के यूआईडी, जीआईडी और पूरक समूहों (यदि कोई हो) का उपयोग करके निष्पादित किया जाएगा
लॉगिन नाम.
सामान्य सुपर विकल्प (जैसे -H) उपयोगकर्ता की .supertab फ़ाइल पर लागू किया जा सकता है। के लिए
उदाहरण के लिए, एक कमांड के बारे में सहायता जानकारी का उपयोग करके प्राप्त किया जा सकता है:
सुपर -H लॉगिन नाम:सीएमडी
इसी तरह, सभी के बारे में जानकारी में मदद करें लॉगिन नामके आदेश इससे प्राप्त किये जा सकते हैं:
सुपर -H लॉगिन नाम:
प्रति-उपयोगकर्ता कमांड के लिंक बनाए जा सकते हैं और सिम्लिंक बनाने के समान तरीके से उपयोग किए जा सकते हैं
सेवा मेरे सुपर अपने आप। अगर आदेश उपयोगकर्ता की .supertab फ़ाइल का एक प्रतीकात्मक लिंक है, और वह
.supertab फ़ाइल है
(ए) निष्पादन योग्य, और
(बी) से शुरू होता है
#! /पथ/से/सुपर -o
तो निम्नलिखित युग्म पूर्णतया समतुल्य है:
% सुपर लॉगिन नाम:आदेश
% आदेश
अगर #!-लाइन 32 वर्णों की सामान्य यूनिक्स सीमा से अधिक लंबी होगी, आप ऐसा कर सकते हैं
इसके बजाय .supertab फ़ाइल को इसके साथ प्रारंभ करें:
#! / बिन / श
# इस बैकस्लैश को रखें -> \
exec /long/path/to/the/super/executable -o $0 ${1+"$@"}
(उपर्युक्त इस तथ्य का लाभ उठाता है कि सुपर टिप्पणियों को बैकस्लैश करने की अनुमति देता है-
जारी रखा, लेकिन शेल नहीं चलता।)
प्रति-उपयोगकर्ता .supertab लिंकिंग इस प्रकार काम करती है: यदि /पथ/से/xyz कुछ उपयोगकर्ताओं के लिए एक सिम्लिंक है
.supertab फ़ाइल, और .supertab फ़ाइल शुरू होती है #! /पथ/से/सुपर -o, फिर खोल
आह्वान करेंगे सुपर तर्कों के साथ कुछ इस तरह
सुपर -o /पथ/से/xyz [तर्क]
सुपर इसकी जाँच करता है /पथ/से/xyz एक वास्तविक .supertab फ़ाइल का लिंक है, और फिर हमेशा घूमता रहता है
पथ का अंतिम भाग (यहाँ) xyz) निष्पादित करने के लिए कमांड में।
** सुरक्षा चेतावनी **
ध्यान दें कि यदि आप प्रति-उपयोगकर्ता .supertab फ़ाइल के लिए सिम्लिंक का उपयोग करते हैं, तो आपको उस पर भरोसा करना चाहिए
.supertab फ़ाइल वास्तव में कुछ बुरा करने के बजाय एक सुपर कमांड निष्पादित करेगी।
वह है क्योंकि सुपर जब तक शेल ने .supertab फ़ाइल नहीं खोली है तब तक स्वयं को लागू नहीं किया जाता है
और .supertab फ़ाइल ने जो भी करने को कहा वह किया। इसके विपरीत, सीधा आदेश
सुपर लॉगिन नाम:सीएमडी इसमें .supertab फ़ाइल की कोई शेल प्रोसेसिंग शामिल नहीं है।
नियमित विकल्प
-V सुपर वर्जन नंबर प्रिंट करें.
-S . सुपर पासवर्ड के लिए संकेत देता है, यह इसे stdin पर संकेत देने के लिए बाध्य करता है, भले ही
गलती करना (/देव/ट्टी) पठनीय एवं लिखने योग्य है। नोट: यह केवल पासवर्ड पर लागू होता है-
प्रकार प्रमाणीकरण - अर्थात, प्रमाणीकरण का पुराना प्रकार जिसमें सुपर
स्वयं पासवर्ड के लिए संकेत देता है; PAM प्रमाणीकरण आपके सिस्टम के PAM द्वारा नियंत्रित किया जाता है
मॉड्यूल।
-f यह प्रसंस्करण के लिए उपयोगी संक्षिप्त प्रारूप में उपलब्ध कमांड की एक सूची का अनुरोध करता है
स्क्रिप्ट द्वारा. (-f इसका मतलब तथ्यों से है, जैसे ``सिर्फ तथ्य, महोदया'')।
-rreqpath
यदि प्रोग्राम इससे संबद्ध है तो सुपर को त्रुटि उत्पन्न करने के लिए कहता है आदेश नहीं है
reqpath. यह आपको स्क्रिप्ट लिखने में मदद करता है जो यह सुनिश्चित करता है कि सुपर केवल वही निष्पादित करता है
वे उम्मीद करते हैं कि यह क्रियान्वित होगा। ``सुपर स्क्रिप्ट बनाना'' अनुभाग का चरण 4 देखें,
इसके उपयोग के उदाहरण के लिए।
-H कारणों सुपर उपयोगकर्ता के लिए उपलब्ध आदेशों की एक वर्बोज़ सूची मुद्रित करने के लिए। यह
दोनों को प्रिंट करता है आदेश और इसका एक प्रोग्राम में अनुवाद PGM. यदि प्रदर्शित हो PGM
एक तारांकन चिह्न होता है, तो निष्पादित वास्तविक प्रोग्राम को प्रतिस्थापित करके बनाया जाता है
तारांकन चिह्न के साथ आदेश उपयोगकर्ता द्वारा दर्ज किया गया. निम्नलिखित उदाहरण दिखाते हैं
के साथ प्रदर्शित की जा सकने वाली पंक्तियों के प्रकार -H विकल्प:
उदाहरण 1.
सुपर कौशल → /usr/स्थानीय/बिन/कौशल
टाइपिंग सुपर कौशल निष्पादित करेंगे /usr/स्थानीय/बिन/कौशल.
उदाहरण 2.
सुपर {एलपी*} → / usr / बिन /*
इस उदाहरण में बाएँ और दाएँ दोनों तरफ तारांकन शामिल हैं। बायाँ पक्ष
वैध पैटर्न दिखाता है जिसे आपको दाईं ओर दिखाए गए कमांड को निष्पादित करने के लिए मेल खाना चाहिए-
हाथ की तरफ। आमतौर पर, दाहिनी ओर कोई तारांकन चिह्न नहीं होता, बस एक पूरा पथ होता है
निष्पादित करने का आदेश. अगर वहाँ is एक तारांकन मौजूद है, इसे कमांड द्वारा प्रतिस्थापित किया जाता है
आपने प्रवेश किया, जिससे वास्तविक निष्पादित कमांड बन गई। इस प्रकार, यदि आप टाइप करते हैं
सुपर lpXXX (कहा पे XXX क्या कोई स्ट्रिंग है), सुपर निष्पादित करेंगे /usr/bin/एलपीxxx।
उदाहरण 3.
सुपर {सह*} → /usr/bin/कंप्रेस
बायीं ओर तारांकन का मतलब है कि आप प्रवेश कर सकते हैं सुपर coXXX (कहा पे XXX is
कोई भी स्ट्रिंग), लेकिन चूँकि दाईं ओर कोई तारांकन चिह्न नहीं है, coXXX मर्जी
हमेशा निष्पादित करें /usr/bin/कंप्रेस.
-t यह ``परीक्षण'' मोड सक्षम करता है। यह आवश्यक जांचों को छोड़कर सभी सामान्य जांच करता है
उपयोगकर्ता इनपुट (पासवर्ड और वेरिएबल जो उपयोगकर्ता को दर्ज करना होगा), लेकिन निष्पादित नहीं होता है
कोई आदेश. इसके बजाय, यदि कमांड निष्पादित करना ठीक है तो यह स्टेटस कोड 0 के साथ बाहर निकलता है,
अन्यथा 1. सभी सामान्य त्रुटि संदेश आउटपुट सामान्य तरीके से उत्पन्न होते हैं, लेकिन नहीं
विशेष डिबग संदेश उत्पन्न होते हैं। इस प्रकार, यह किसी स्क्रिप्ट के लिए एक उपयोगी साधन है
जांचें कि क्या किसी कमांड के काम करने की संभावना है, और इसलिए सुपर निष्पादित करना उचित है। के जाने
कहें कि एक स्क्रिप्ट /usr/local/bin/foo का उपयोग करके स्वयं को इनवॉइस करना चाहता है सुपर foo (देखें
अनुभाग ``सुपर स्क्रिप्ट बनाना'' यह जानने के लिए कि अनंत लूप से कैसे बचा जाए
यह!) स्क्रिप्ट का उपयोग कर सकते हैं -r यह सुनिश्चित करने का विकल्प सुपर foo यह आपकी जानकारी के लिए है
फ़ाइल सही है, और यह सुनिश्चित करने के लिए यह परीक्षण मोड का उपयोग कर सकता है सुपर foo एक वैध आदेश है:
प्रोग=`बेसनाम $0`
/usr/local/bin/super -t -r $0 $prog
मामला $? में
0 ) exec /usr/local/bin/super -t -r $0 $prog ;;
* ) इको "सुपर $प्रोग काम नहीं करता!"
...तो उचित कार्रवाई करें...
;;
esac
डीबग और विकास विकल्प
बनाते और डिबगिंग करते समय ये विकल्प उपयोगी होते हैं सुपर.टैब फ़ाइलें. उनके पास बहुत कम या है
रोजमर्रा के उपयोगकर्ता के लिए कोई मूल्य नहीं। के अपवाद के साथ -b विकल्प, उन्हें जोड़ा जा सकता है
ऊपर नियमित विकल्पों के साथ।
-b अंतर्निहित वेरिएबल्स के नाम और मान प्रिंट करें, फिर बाहर निकलें। के लिए उपयोगी
प्रशासकों को वे मान सीखने होंगे जिनके विरुद्ध अंतर्निहित चर का परीक्षण किया जा सकता है।
-c[अतिफ़ाइल]
बताता है सुपर में प्रविष्टियों के सिंटैक्स की जाँच करने के लिए अतिफ़ाइल, लेकिन निष्पादित करने के लिए नहीं
कोई आदेश. अगर कोई नहीं अतिफ़ाइल दिया जाता है, नियमित सुपर.टैब जाँच की गई है। बाहर जाएं
यदि फ़ाइल का सिंटैक्स ठीक है तो कोड 0 है; अन्यथा निकास कोड 1 है (और एक त्रुटि है
संदेश मुद्रित है)। किसी सुपर फ़ाइल को संशोधित करने के बाद, आपको इस विकल्प का उपयोग करना चाहिए
इसकी अखंडता की जाँच करें.
ध्यान दें कि सुपर -c यह पूर्ण जाँच नहीं है कि आपने प्रविष्टि सही ढंग से सेट की है,
क्योंकि आप वाक्यात्मक रूप से मान्य प्रविष्टियाँ बना सकते हैं जो बिल्कुल वैसा नहीं करती जैसा आप करते हैं
चाहना। इसलिए आपको भी इस्तेमाल करना चाहिए सुपर -d सीएमडी यह सुनिश्चित करने के लिए कि आदेश
आपके द्वारा दर्ज किया गया सही तर्कों, यूआईडी, जीआईडी, उमास्क इत्यादि के साथ निष्पादित किया जाएगा
पर।
-d यह डिबग मोड को सक्षम करता है, जिस स्थिति में (ए) डिबगिंग जानकारी मुद्रित होती है
वैधता के लिए उपयोगकर्ता की जाँच करना, और (बी) आदेश वास्तव में निष्पादित नहीं किया गया है। उपयोगी
यह जांचने के लिए कि क्या इसमें कोई नई प्रविष्टि है सुपर.टैब फ़ाइल (नीचे देखें) को संभाल लिया गया है
अच्छी तरह।
-D के समान -d, साथ ही इसमें परिभाषित वेरिएबल्स के बारे में अधिक जानकारी प्रिंट करता है सुपर.टैब
फ़ाइल.
-Fअतिफ़ाइल
यह विकल्प केवल डिबगिंग के लिए उपयोग किया जाता है, और आपको पहले एक सुपरफ़ाइल का परीक्षण करने देता है
इसे स्थापित करना. वास्तव में कोई आदेश निष्पादित नहीं किया जाएगा. यह एक गैर भी चालू करता है-
वर्बोज़ डिबगिंग, मिलान किए गए कमांड नाम और स्वीकार करने के कारण दिखा रहा है
आदेश को अस्वीकार करना.
-Ggid इस विकल्प का उपयोग डिबगिंग के लिए भी किया जाता है, और बताता है सुपर ऐसा व्यवहार करना मानो कॉल करने वाले का हो
ग्रुपिड या ग्रुपनाम था gid. इसमें वही प्रतिबंध और डिबग जानकारी होती है
-F विकल्प.
-Uयूआईडी इस विकल्प का उपयोग डिबगिंग के लिए भी किया जाता है, और बताता है सुपर ऐसा व्यवहार करना मानो कॉल करने वाले का हो
यूआईडी या उपयोगकर्ता नाम था यूआईडी. इसमें -F के समान ही प्रतिबंध और डिबग जानकारी होती है
विकल्प.
-Mमच इस विकल्प का उपयोग डिबगिंग के लिए भी किया जाता है, और बताता है सुपर ऐसा व्यवहार करना मानो कॉल करने वाले का हो
होस्ट (मशीन) था मच. इसमें -F के समान ही प्रतिबंध और डिबग जानकारी होती है
विकल्प.
-Thh:mm/दिन का नाम
इस विकल्प का उपयोग डिबगिंग के लिए भी किया जाता है, और बताता है सुपर निष्पादन के रूप में कार्य करना
समय है hh:mm/दिन का नाम. इससे आप जाँच सकते हैं कि क्या कोई समय विनिर्देश है
सुपर.टैब फ़ाइल निष्पादन को उचित रूप से प्रतिबंधित कर रही है। इसमें समान प्रतिबंध हैं
और जानकारी को -F विकल्प के रूप में डीबग करें।
onworks.net सेवाओं का उपयोग करके सुपर ऑनलाइन का उपयोग करें
