क्या है / बिन / rbash?


14

मैं कॉमन शेल कार्यक्रमों के बारे में सीख रहा था ।

जब मैं cat /etc/shellsचलता हूं , तो यह पता चलता है:

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

/bin/rbashयहाँ क्या है ? क्या इसका इस्तेमाल स्क्रिप्टिंग में किया जाता है?


6
कौन सा हिस्सा man rbashअस्पष्ट है?
स्टिग हेमर

1
@StigHemmer। मैंने ऐसा नहीं किया। man rbashमुझे विस्तार से जानकारी भी देता है। धन्यवाद।
daisy

3
मैन पेज को पढ़ना हमेशा एक टूल को समझने का आपका पहला प्रयास होना चाहिए। आपको इसे उस मशीन पर भी पढ़ना चाहिए जहाँ यह सुनिश्चित होता है कि आप सही संस्करण के बारे में पढ़ रहे हैं।

जवाबों:


16

से विकिपीडिया

प्रतिबंधित खोल एक यूनिक्स खोल है जो एक इंटरैक्टिव उपयोगकर्ता सत्र के लिए उपलब्ध कुछ क्षमताओं को प्रतिबंधित करता है, या एक शेल स्क्रिप्ट को, इसके भीतर चल रहा है। यह सुरक्षा की एक अतिरिक्त परत प्रदान करने का इरादा है, लेकिन पूरी तरह से अविश्वसनीय सॉफ्टवेयर के निष्पादन की अनुमति देने के लिए अपर्याप्त है। एक प्रतिबंधित मोड ऑपरेशन मूल बॉर्न शेल [1] और उसके बाद के समकक्ष बैश, [2] और कोर्न शेल में पाया जाता है। [३] कुछ मामलों में एक प्रतिबंधित शेल का उपयोग चुरोट जेल के साथ संयोजन के रूप में किया जाता है, सिस्टम तक पहुंच को एक पूरे के रूप में सीमित करने के प्रयास में।

प्रतिबंधित गोले पर लागू होने वाली सीमाओं के लिए सोरेन ए का जवाब देखें ।

आप bashप्रतिबंधित मोड में चला सकते हैं

bash -r
bash --restricted

मेरे सिस्टम पर:

$ file /bin/rbash
/bin/rbash: symbolic link to bash

इसलिए अगर मैं दौड़ता /bin/rbashहूं, तो दौड़ रहा हूंbash

परंतु

यह bash को इंगित करने वाले rashash नाम से एक लिंक बनाने के लिए पर्याप्त है। हालांकि यह सीधे -rया बिना --restricted विकल्पों के बैश का आह्वान करता है, बैश इस बात को पहचानता है कि इसे rashash के माध्यम से लाया गया था और यह प्रतिबंधित शेल के रूप में आता है।

जैसा कि आप आसानी से परीक्षण कर सकते हैं:

zanna@monster:~$ rbash
zanna@monster:~$ cd playground
rbash: cd: restricted

1
कई प्रतिबंध लगता है। तो फिर यह कैसे सहायक है? क्या यह पटकथा में उपयोग करता है?
daisy

3
इसे उस उपयोगकर्ता के लिए डिफ़ॉल्ट शेल के रूप में सेट किया जा सकता है जिसे आप किसी विशेष निर्देशिका में फंसाना चाहते हैं, उदाहरण के लिए @pass
Zanna

2
@passa कि पटकथा नहीं है, और प्रतिबंधित गोले पटकथा के लिए विलक्षण रूप से बेकार हैं। चूँकि आप जानते हैं, या यह निर्धारित कर सकते हैं कि किसी स्क्रिप्ट में क्या क्रियाएँ की जाती हैं, इसलिए स्क्रिप्टिंग के लिए प्रतिबंधित शेल का उपयोग करने का कोई मतलब नहीं है।
मुरु

@ ममरू ठीक है। तो यह उस उद्देश्य के लिए इस्तेमाल किया जा सकता है जो ज़ाना ने अपनी टिप्पणी में कहा था।
डेज़ी

1
यह एक सिस्टम प्रशासक के लिए सहायक है क्योंकि यह अन्य उपयोगकर्ताओं को खतरनाक कार्यों को करने से रोक सकता है। यह अंत उपयोगकर्ता के लिए कुछ हद तक उपयोगी है।

17

rashash प्रतिबंधित (कम कैपबिलिटी) बैश का संस्करण है। इस लेख को देखें: https://en.wikipedia.org/wiki/Restricted_shell

लेख से:

प्रतिबंधित शेल में निम्नलिखित कार्यों की अनुमति नहीं है:

changing directory
specifying absolute pathnames or names containing a slash
setting the PATH or SHELL variable
redirection of output

बैश में आगे प्रतिबंध शामिल हैं, जिनमें शामिल हैं:

limitations on function definitions
limitations on the use of slash-ed filenames in bash builtins

प्रतिबंधित कोर्न शेल में प्रतिबंध उतना ही है जितना प्रतिबंधित बॉर्न शेल में।

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