लिनक्स में उपयोगकर्ता डिफ़ॉल्ट शेल को बदलने के 3 तरीके


इस लेख में, हम वर्णन करेंगे कि लिनक्स में उपयोगकर्ता के शेल को कैसे बदलना है। शेल एक प्रोग्राम है जो आदेशों को स्वीकार और व्याख्या करता है; कई गोले जैसे कि bash, sh, ksh, zsh, मछली और कई अन्य कम ज्ञात ज्ञात गोले लिनक्स पर उपलब्ध हैं।

बैश (/bin/bash ) सभी लिनक्स सिस्टम नहीं तो सबसे अधिक लोकप्रिय शेल है, और यह आमतौर पर उपयोगकर्ता खातों के लिए डिफ़ॉल्ट शेल है।

लिनक्स में उपयोगकर्ता के शेल को बदलने के कई कारण हैं जिनमें निम्न शामिल हैं:

  1. To block or disable normal user logins in Linux using a nologin shell.
  2. Use a shell wrapper script or program to login user commands before they are sent to a shell for execution. Here, you specify the shell wrapper as a user’s login shell.
  3. To meet a user’s demands (wants to use a specific shell), especially those with administrative rights.

उपयोगकर्ता खाता या एड्यूसर उपयोगिताओं के साथ उपयोगकर्ता खाते बनाते समय, - shell ध्वज का उपयोग संबंधित कॉन्फ़िगरेशन फ़ाइलों में निर्दिष्ट उपयोगकर्ता के लॉगिन शेल के नाम को निर्दिष्ट करने के लिए किया जा सकता है।

एक लॉगिन शेल को टेक्स्ट आधारित इंटरफ़ेस या दूरस्थ लिनक्स मशीन से SSH के माध्यम से एक्सेस किया जा सकता है। हालाँकि, यदि आप एक ग्राफिकल यूजर इंटरफेस (GUI) के माध्यम से लॉग इन करते हैं, तो आप शेल को xterm , konsole जैसे कई टर्मिनल एमुलेटर से एक्सेस कर सकते हैं।

अपने लिनक्स सिस्टम पर उपलब्ध सभी प्रकारों की सूची पहले टाइप करें।

# cat /etc/shells

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/dash

इससे पहले कि आप आगे बढ़ें, ध्यान दें कि:

  • A user can change their own shell to any thing: which, however must be listed in the /etc/shells file.
  • Only root can run a shell not listed in /etc/shells file.
  • If an account has a restricted login shell, then only root can change that user’s shell.

अब लिनक्स उपयोगकर्ता शेल को बदलने के तीन अलग-अलग तरीकों पर चर्चा करते हैं।

1. usermod उपयोगिता

usermod /etc/passwd फ़ाइल और <कोड> -s या - shell विकल्प में संग्रहीत उपयोगकर्ता के खाते के विवरण को संशोधित करने के लिए एक उपयोगिता है। उपयोगकर्ता के लॉगिन शेल को बदलने के लिए उपयोग किया जाता है।

इस उदाहरण में, हम पहले उपयोगकर्ता के टीकमिंट खाते की जानकारी उसकी डिफ़ॉल्ट लॉगिन शेल देखने के लिए जाँचेंगे और फिर उसके लॉगिन शेल को /bin/sh से /bin/bash के रूप में बदलेंगे। इस प्रकार है।

# grep tecmint /etc/passwd
# usermod --shell /bin/bash tecmint
# grep tecmint /etc/passwd

2. chsh उपयोगिता

chsh इस तरह से -s या –shell विकल्प के साथ लॉगिन शेल बदलने के लिए कमांड लाइन उपयोगिता है।

# grep tecmint /etc/passwd
# chsh --shell /bin/sh tecmint
# grep tecmint /etc/passwd

ऊपर दिए गए दो तरीके /etc/passwd फ़ाइल में निर्दिष्ट शेल को संशोधित करते हैं जिसे आप नीचे तीसरी विधि के रूप में मैन्युअल रूप से संपादित कर सकते हैं।

3. उपयोगकर्ता शेल को / etc / passwd फ़ाइल में बदलें

इस विधि में, अपने पसंदीदा कमांड लाइन टेक्स्ट एडिटर्स में से किसी का उपयोग करके /etc/passwd फ़ाइल खोलें और एक विशिष्ट उपयोगकर्ता शेल बदलें।

# vi /etc/passwd

जब आपका किया हुआ संपादन हो जाए, तो फ़ाइल को सहेजें और बंद करें।

इन संबंधित विषयों को पढ़ना न भूलें:

  1. Understanding Shell Initialization Files and User Profiles in Linux
  2. Understand Linux Shell and Basic Shell Scripting Tips – Part I
  3. How To Write and Use Custom Shell Functions and Libraries
  4. Understanding Different Classifications of Shell Commands and Their Usage

इस लेख में, हमने लिनक्स में उपयोगकर्ता के शेल को बदलने के विभिन्न तरीकों का वर्णन किया है। हमारे साथ कोई भी विचार साझा करने के लिए, नीचे टिप्पणी अनुभाग का उपयोग करें।