उपयोग करने का तंत्र आपके लक्ष्यों पर निर्भर करता है।
यदि आप अपने उपयोगकर्ताओं के लिए कुछ सुविधाजनक या अनुकूल प्रदान करना चाहते हैं , तो /etc/profile
यह उचित है कि यदि आपके सभी उपयोगकर्ता समान शेल का उपयोग करते हैं। यदि आप चाहते हैं कि कमांड्स केवल लॉग इन करते समय निष्पादित हों ssh
, तो कमांड्स को अंदर रखें /etc/ssh/sshrc
। (यदि आपको उपयोगकर्ताओं को अपनी ~/.ssh/rc
फ़ाइल के साथ आदेशों को ओवरराइड करने में कोई आपत्ति नहीं है ।)
यदि आप किसी प्रोग्राम को निष्पादित करने के लिए किसी उपयोगकर्ता को और केवल एक प्रोग्राम के लिए बाध्य करना चाहते हैं , तो DigitalRoss द्वारा वर्णित विकल्प एक अच्छा तरीका है। (मैं व्यक्तिगत रूप से आगे एक साथ उपयोगकर्ता सीमित होगा अनिवार्य अभिगम नियंत्रण जैसे प्रणाली निकल रहा , SELinux , Tomoyo , या एक प्रकार का जहाज़ , सुनिश्चित करने के लिए कार्यक्रम के एक उपयोगकर्ता से बचने के लिए अनुमति नहीं दे सकते। मैं दस साल के लिए निकल रहा पर काम किया है ताकि है उपकरण मैं पहले चुनूंगा, लेकिन अन्य उत्कृष्ट प्रोग्रामर द्वारा लिखे गए ठीक उपकरण हैं।)ForceCommand
यदि आप चाहते हैं कि कोई भी प्रोग्राम उपयोगकर्ता को किसी भी तरह से निष्पादित और परेशान न करे , तो सबसे अच्छा तरीका है pam_exec(8)
मॉड्यूल का उपयोग करना , जिसे बाईपास नहीं किया जा सकता है, शेल की परवाह किए बिना काम करता है, और उपयोगकर्ता या उपयोगकर्ता के रूप में चलाने की आसान क्षमता प्रदान करता है। प्राधिकरण के प्रदर्शन का कार्यक्रम। मैनपेज निम्नलिखित उदाहरण देता है:
Add the following line to /etc/pam.d/passwd to rebuild the
NIS database after each local password change:
passwd optional pam_exec.so seteuid make -C /var/yp
This will execute the command
make -C /var/yp
with effective user ID.
इस पर चलने के लिए बढ़ाया जा सकता है auth
, account
, password
, और session
कार्यों; शायद session
लॉग इन पर निष्पादित करने के लिए सबसे अच्छा होगा। बस एक पंक्ति जोड़ें जैसे:
session optional pam_exec.so log=/var/log/ssh_login_cmd /usr/local/bin/ssh_cmd
अपने /etc/pam.d/sshd
नियंत्रण फ़ाइल के लिए।