ലിനക്സിൽ ഉപയോക്താക്കളുടെ ഡിഫോൾട്ട് ഷെൽ മാറ്റാനുള്ള 3 വഴികൾ


ഈ ലേഖനത്തിൽ, Linux-ൽ ഒരു ഉപയോക്താവിന്റെ ഷെൽ എങ്ങനെ മാറ്റാമെന്ന് ഞങ്ങൾ വിവരിക്കും. കമാൻഡുകൾ സ്വീകരിക്കുകയും വ്യാഖ്യാനിക്കുകയും ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് ഷെൽ; ബാഷ്, sh, ksh, zsh, ഫിഷ് തുടങ്ങിയ നിരവധി ഷെല്ലുകളും ലിനക്സിൽ അധികം അറിയപ്പെടാത്ത ഷെല്ലുകളും ലഭ്യമാണ്.

ബാഷ് (/ബിൻ/ബാഷ്) എല്ലാ ലിനക്സ് സിസ്റ്റങ്ങളിലും ഒരു ജനപ്രിയ ഷെല്ലാണ്, കൂടാതെ ഇത് സാധാരണയായി ഉപയോക്തൃ അക്കൗണ്ടുകളുടെ സ്ഥിരസ്ഥിതി ഷെല്ലാണ്.

Linux-ൽ ഉപയോക്താവിന്റെ ഷെൽ മാറ്റുന്നതിന് ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ നിരവധി കാരണങ്ങളുണ്ട്:

  1. ഒരു നോലോഗിൻ ഷെൽ ഉപയോഗിച്ച് Linux-ൽ സാധാരണ ഉപയോക്തൃ ലോഗിനുകൾ തടയാനോ പ്രവർത്തനരഹിതമാക്കാനോ.
  2. നിർവ്വഹണത്തിനായി ഒരു ഷെല്ലിലേക്ക് അയയ്ക്കുന്നതിന് മുമ്പ് ഉപയോക്തൃ കമാൻഡുകൾ ലോഗിൻ ചെയ്യുന്നതിന് ഒരു ഷെൽ റാപ്പർ സ്ക്രിപ്റ്റോ പ്രോഗ്രാമോ ഉപയോഗിക്കുക. ഇവിടെ, നിങ്ങൾ ഒരു ഉപയോക്താവിന്റെ ലോഗിൻ ഷെല്ലായി ഷെൽ റാപ്പർ വ്യക്തമാക്കുന്നു.
  3. ഒരു ഉപയോക്താവിന്റെ ആവശ്യങ്ങൾ നിറവേറ്റുന്നതിന് (ഒരു പ്രത്യേക ഷെൽ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നു), പ്രത്യേകിച്ച് അഡ്മിനിസ്ട്രേറ്റീവ് അവകാശങ്ങളുള്ളവ.

userradd അല്ലെങ്കിൽ adduser യൂട്ടിലിറ്റികൾ ഉപയോഗിച്ച് ഉപയോക്തൃ അക്കൗണ്ടുകൾ സൃഷ്ടിക്കുമ്പോൾ, ബന്ധപ്പെട്ട കോൺഫിഗറേഷൻ ഫയലുകളിൽ വ്യക്തമാക്കിയിട്ടുള്ളതല്ലാതെ ഉപയോക്താവിന്റെ ലോഗിൻ ഷെല്ലിന്റെ പേര് വ്യക്തമാക്കാൻ --shell ഫ്ലാഗ് ഉപയോഗിക്കാം.

ഒരു ലോഗിൻ ഷെൽ ഒരു ടെക്uസ്uറ്റ് അധിഷ്uഠിത ഇന്റർഫേസിൽ നിന്നോ റിമോട്ട് ലിനക്uസ് മെഷീനിൽ നിന്നുള്ള ഒരു SSH വഴിയോ ആക്uസസ് ചെയ്യാൻ കഴിയും. എന്നിരുന്നാലും, നിങ്ങൾ ഒരു ഗ്രാഫിക്കൽ യൂസർ ഇന്റർഫേസ് (GUI) വഴി ലോഗിൻ ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾക്ക് xterm, konsole എന്നിവയും മറ്റും പോലുള്ള ടെർമിനൽ എമുലേറ്ററുകളിൽ നിന്ന് ഷെൽ ആക്സസ് ചെയ്യാൻ കഴിയും.

നിങ്ങളുടെ Linux സിസ്റ്റത്തിൽ ലഭ്യമായ എല്ലാ ഷെല്ലുകളും ആദ്യം ലിസ്റ്റ് ചെയ്യാം, ടൈപ്പ് ചെയ്യുക.

# cat /etc/shells

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

നിങ്ങൾ തുടരുന്നതിന് മുമ്പ്, ഇത് ശ്രദ്ധിക്കുക:

  • ഒരു ഉപയോക്താവിന് സ്വന്തം ഷെൽ ഏത് കാര്യത്തിലേക്കും മാറ്റാൻ കഴിയും: എന്നിരുന്നാലും അത് /etc/shells ഫയലിൽ ലിസ്റ്റ് ചെയ്തിരിക്കണം.
  • /etc/shells ഫയലിൽ ലിസ്റ്റ് ചെയ്യാത്ത ഒരു ഷെൽ റൺ ചെയ്യാൻ റൂട്ടിന് മാത്രമേ കഴിയൂ.
  • ഒരു അക്കൗണ്ടിന് നിയന്ത്രിത ലോഗിൻ ഷെൽ ഉണ്ടെങ്കിൽ, റൂട്ടിന് മാത്രമേ ആ ഉപയോക്താവിന്റെ ഷെൽ മാറ്റാൻ കഴിയൂ.

ലിനക്സ് യൂസർ ഷെൽ മാറ്റുന്നതിനുള്ള മൂന്ന് വ്യത്യസ്ത വഴികൾ ഇപ്പോൾ ചർച്ച ചെയ്യാം.

1. usermod യൂട്ടിലിറ്റി

/etc/passwd ഫയലിൽ സംഭരിച്ചിരിക്കുന്ന ഉപയോക്താവിന്റെ അക്കൗണ്ട് വിശദാംശങ്ങൾ പരിഷ്uക്കരിക്കുന്നതിനുള്ള ഒരു യൂട്ടിലിറ്റിയാണ് usermod, ഉപയോക്താവിന്റെ ലോഗിൻ ഷെൽ മാറ്റാൻ -s അല്ലെങ്കിൽ --shell ഓപ്ഷൻ ഉപയോഗിക്കുന്നു. .

ഈ ഉദാഹരണത്തിൽ, ഉപഭോക്താവിന്റെ ഡിഫോൾട്ട് ലോഗിൻ ഷെൽ കാണുന്നതിന് ഞങ്ങൾ ആദ്യം tecmint-ന്റെ അക്കൗണ്ട് വിവരങ്ങൾ പരിശോധിക്കുകയും തുടർന്ന് അതിന്റെ ലോഗിൻ ഷെൽ /bin/sh ൽ നിന്ന് /bin/bash ലേക്ക് മാറ്റുകയും ചെയ്യും.

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

2. chsh യൂട്ടിലിറ്റി

-s അല്ലെങ്കിൽ -shell ഓപ്ഷൻ ഉപയോഗിച്ച് ലോഗിൻ ഷെൽ മാറ്റുന്നതിനുള്ള ഒരു കമാൻഡ് ലൈൻ യൂട്ടിലിറ്റിയാണ് chsh.

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

മുകളിൽ പറഞ്ഞിരിക്കുന്ന രണ്ട് രീതികൾ /etc/passwd ഫയലിൽ വ്യക്തമാക്കിയ ഷെല്ലിനെ പരിഷ്കരിക്കുന്നു, അത് നിങ്ങൾക്ക് താഴെയുള്ള മൂന്നാമത്തെ രീതി പോലെ സ്വയം എഡിറ്റ് ചെയ്യാം.

3. /etc/passwd ഫയലിൽ യൂസർ ഷെൽ മാറ്റുക

ഈ രീതിയിൽ, നിങ്ങളുടെ പ്രിയപ്പെട്ട ഏതെങ്കിലും കമാൻഡ് ലൈൻ ടെക്സ്റ്റ് എഡിറ്ററുകൾ ഉപയോഗിച്ച് /etc/passwd ഫയൽ തുറന്ന് ഒരു നിർദ്ദിഷ്ട ഉപയോക്തൃ ഷെൽ മാറ്റുക.

# vi /etc/passwd

നിങ്ങൾ എഡിറ്റിംഗ് പൂർത്തിയാകുമ്പോൾ, ഫയൽ സംരക്ഷിച്ച് അടയ്ക്കുക.

ഈ അനുബന്ധ വിഷയങ്ങൾ വായിക്കാൻ മറക്കരുത്:

  1. ലിനക്സിലെ ഷെൽ ഇനീഷ്യലൈസേഷൻ ഫയലുകളും ഉപയോക്തൃ പ്രൊഫൈലുകളും മനസ്സിലാക്കുന്നു
  2. ലിനക്സ് ഷെല്ലും അടിസ്ഥാന ഷെൽ സ്ക്രിപ്റ്റിംഗ് നുറുങ്ങുകളും മനസ്സിലാക്കുക - ഭാഗം I
  3. ഇഷ്uടാനുസൃത ഷെൽ പ്രവർത്തനങ്ങളും ലൈബ്രറികളും എങ്ങനെ എഴുതുകയും ഉപയോഗിക്കുകയും ചെയ്യാം
  4. ഷെൽ കമാൻഡുകളുടെ വ്യത്യസ്ത വർഗ്ഗീകരണങ്ങളും അവയുടെ ഉപയോഗവും മനസ്സിലാക്കുക

ഈ ലേഖനത്തിൽ, Linux-ൽ ഒരു ഉപയോക്താവിന്റെ ഷെൽ മാറ്റുന്നതിനുള്ള വിവിധ വഴികൾ ഞങ്ങൾ വിവരിച്ചു. എന്തെങ്കിലും ചിന്തകൾ ഞങ്ങളുമായി പങ്കിടുന്നതിന്, ചുവടെയുള്ള അഭിപ്രായ വിഭാഗം ഉപയോഗിക്കുക.