Cara Mengubah Shell Pengguna Default di Linux


Shell, atau antarmuka baris perintah, adalah komponen penting dari sistem operasi Linux, yang menyediakan cara ampuh bagi pengguna untuk berinteraksi dengan sistem.

Setiap pengguna di sistem Linux dikaitkan dengan shell default, yang menentukan penerjemah perintah yang mereka gunakan saat berinteraksi dengan sistem.

Mengubah shell default pengguna mungkin diperlukan karena berbagai alasan, seperti preferensi pribadi atau kebutuhan akan fitur spesifik yang ditawarkan oleh shell berbeda.

Pada artikel ini, kita akan mempelajari proses mengubah shell default pengguna di Linux. Shell adalah program yang menerima dan menafsirkan perintah; ada beberapa shell sumber terbuka seperti bash, sh, ksh, zsh, fish, dan banyak shell lain yang kurang dikenal yang tersedia di Linux.

Cangkang Bash Linux

Bash (/bin/bash) adalah shell yang populer di sebagian besar, jika tidak semua, distribusi Linux, dan biasanya merupakan shell default untuk akun pengguna.

Ada beberapa alasan untuk mengganti shell pengguna di Linux antara lain sebagai berikut:

  • Untuk memblokir atau menonaktifkan login pengguna normal di Linux menggunakan shell nologin.
  • Gunakan skrip atau program pembungkus shell untuk mencatat perintah pengguna sebelum dikirim ke shell untuk dieksekusi. Di sini, Anda menentukan pembungkus shell sebagai shell login pengguna.
  • Untuk memenuhi permintaan pengguna (ingin menggunakan shell tertentu), terutama yang memiliki hak administratif.

Saat membuat akun pengguna dengan utilitas useradd atau adduser, flag --shell dapat digunakan untuk menentukan nama shell login pengguna selain yang ditentukan dalam file konfigurasi masing-masing.

Shell login dapat diakses dari antarmuka berbasis teks atau melalui SSH dari mesin Linux jarak jauh. Namun, jika Anda masuk melalui antarmuka pengguna grafis (GUI), Anda dapat mengakses shell dari emulator terminal seperti xterm, konsole, dan banyak lagi.

Daftar Shell yang Tersedia di Sistem Linux

Di Linux, file /etc/shells biasanya digunakan untuk menyimpan daftar shell login valid yang terpasang pada sistem. File ini membantu mengidentifikasi shell mana yang tersedia bagi pengguna untuk ditetapkan sebagai shell default menggunakan perintah seperti chsh.

Untuk melihat daftar shell yang tersedia di sistem Linux, Anda dapat menggunakan perintah berikut:

cat /etc/shells

Contoh Keluaran:

/etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen

Sebelum Anda melanjutkan lebih jauh, perhatikan bahwa:

  • Pengguna dapat mengubah shellnya menjadi apa pun: namun, shell tersebut harus dicantumkan dalam file /etc/shells.
  • Hanya root yang dapat menjalankan shell yang tidak tercantum dalam file /etc/shells.
  • Jika sebuah akun memiliki shell login terbatas, maka hanya root yang dapat mengubah shell pengguna tersebut.

Temukan Shell Saat Ini di Linux

Sebelum mengubah shell pengguna default, penting untuk menentukan shell saat ini dengan menjalankan perintah echo berikut, yang menampilkan shell saat ini untuk pengguna yang masuk.

echo $SHELL

/bin/bash

Outputnya menunjukkan pengguna sedang menggunakan shell Bash (/bin/bash).

Mengubah Shell Default di Linux

Sekarang mari kita bahas tiga cara berbeda untuk mengubah shell pengguna Linux default.

1. Utilitas mod pengguna

Perintah usermod digunakan untuk mengubah detail akun pengguna, disimpan dalam file /etc/passwd dan opsi -s atau --shell digunakan untuk mengubah shell login pengguna.

Dalam contoh ini, pertama-tama kita akan memeriksa informasi akun tecmint pengguna untuk melihat shell login defaultnya dan kemudian mengubah shell loginnya dari /bin/sh menjadi /bin/bash sebagai berikut.

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

Sekarang shell default untuk pengguna “tecmint” akan diubah menjadi bash.

2. Utilitas chsh

Perintah chsh digunakan untuk mengubah shell login default pengguna secara interaktif dengan menggunakan opsi -s atau –shell seperti yang ditunjukkan.

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

Ganti “/bin/sh” dengan jalur sebenarnya ke shell yang ingin Anda atur. Misalnya, untuk menyetel shell ke sh, Anda akan menggunakan “/bin/sh“.

Penting untuk dicatat bahwa perubahan pada shell default biasanya berlaku pada login Anda berikutnya.

Kedua metode di atas semuanya memodifikasi shell yang ditentukan dalam file /etc/passwd yang dapat Anda edit secara manual seperti pada metode ketiga di bawah ini.

3. Ubah Shell Pengguna di File /etc/passwd

Dalam metode ini, cukup buka file /etc/passwd menggunakan editor teks baris perintah favorit Anda dan ubah shell pengguna tertentu.

sudo vi /etc/passwd
OR
sudo nano /etc/passwd

Temukan baris yang sesuai dengan pengguna yang ingin Anda ubah shell defaultnya. Misalnya, jika garisnya terlihat seperti ini:

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/bash

Bidang terakhir, /bin/bash, mewakili shell default (dalam hal ini, Bash).

Untuk mengubah nilai field shell ke shell yang diinginkan, cukup tentukan path ke shell (/bin/zsh) seperti yang ditunjukkan.

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/zsh

Setelah selesai mengedit, simpan dan tutup file.

Bagaimana Cara Memasang Shell Lain?

Mirip dengan paket perangkat lunak lainnya, shell populer seperti Zsh, dan Fish dapat dengan mudah diinstal dari repositori distribusi Anda seperti yang ditunjukkan.

Instal Zsh Shell di Linux

Untuk menginstal Zsh di Linux, gunakan perintah berikut yang sesuai untuk distribusi Linux spesifik Anda.

sudo apt install zsh         [On Debian, Ubuntu and Mint]
sudo yum install zsh         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/zsh  [On Gentoo Linux]
sudo apk add zsh             [On Alpine Linux]
sudo pacman -S zsh           [On Arch Linux]
sudo zypper install zsh      [On OpenSUSE]    

Instal Cangkang Ikan di Linux

Untuk menginstal Zsh di Linux, gunakan perintah berikut yang sesuai untuk distribusi Linux spesifik Anda.

sudo apt install fish         [On Debian, Ubuntu and Mint]
sudo yum install fish         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fish  [On Gentoo Linux]
sudo apk add fish             [On Alpine Linux]
sudo pacman -S fish           [On Arch Linux]
sudo zypper install fish      [On OpenSUSE]    

Jangan lupa membaca topik terkait ini:

Pada artikel ini, kami menjelaskan berbagai cara mengubah shell pengguna di Linux. Untuk berbagi pemikiran apa pun dengan kami, gunakan bagian komentar di bawah.