एक ssh सबसिस्टम जो ls करता है


2

आम तौर पर आप ऐसा Subsystem vim /usr/bin/vimया कुछ ऐसा करके सबसिस्टम बनाते हैं । तो मैं एक सबसिस्टम कैसे करूँगा ls -la? अर्थात। आप ls सबसिस्टम कहते हैं, यह आपको एक ls देता है और फिर चैनल बंद कर देता है। ऐसा नहीं लगता है कि Subsystem vim ls -laयह काम करेगा क्योंकि यह एक द्विआधारी फ़ाइल का मार्ग नहीं है।

कोई विचार?

जवाबों:


3

आप एक Subsystemपरिभाषा में कमांड-लाइन तर्क शामिल कर सकते हैं । यहाँ sshd_config प्रलेखन से "सबसिस्टम" विवरण का हिस्सा है :

सबसिस्टम
एक बाहरी सबसिस्टम को कॉन्फ़िगर करता है (जैसे फ़ाइल ट्रांसफर डेमॉन)। उपसमूह अनुरोध पर निष्पादित करने के लिए तर्क एक सबसिस्टम नाम और एक कमांड (वैकल्पिक तर्क के साथ) होना चाहिए ।

तो यह ठीक काम करना चाहिए:

Subsystem ls ls -la /some/directory

Sshd शेल कमांड के रूप में सबसिस्टम कमांड चलाता है, इसलिए कमांड में शेल सिंटैक्स हो सकता है:

Subsystem ls ls -la /some/dir | tr a-z A-Z     # Upper-cases output

एक अन्य दृष्टिकोण एक सरल स्क्रिप्ट लिखना होगा जो वांछित कमांड चलाता है, और स्क्रिप्ट को सबसिस्टम कमांड के रूप में चलाने के लिए sshd सेट करता है। उदाहरण के लिए, इन पंक्तियों वाली एक स्क्रिप्ट बनाएं और इसे निष्पादन योग्य चिह्नित करें:

#!/bin/sh
exec ls -la

फिर स्क्रिप्ट चलाने के लिए सबसिस्टम सेट करें:

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