rbash adalah singkatan dari shell bash terbatas. Di UNIX seperti beroperasi ketika pengguna dibuat, shell default (/bin/bash) ditetapkan. Jadi pengguna dapat pindah ke direktori siapa pun, jadi untuk menghindari situasi ini kita dapat menetapkan shell terbatas kepada pengguna, shell terbatas seperti lingkungan jail atau lingkungan chroot.
Mengapa rbash?
Jika bash dimulai dengan nama rbash, atau opsi -r diberikan saat pemanggilan, shell menjadi terbatas. Shell terbatas digunakan untuk mengatur lingkungan yang lebih terkontrol daripada shell standar. Ini berperilaku identik dengan bash dengan pengecualian bahwa berikut ini tidak diizinkan atau tidak dilakukan:
- mengganti direktori dengan cd
- menyetel atau menghapus nilai SHELL, PATH, ENV, atau BASH_ENV
- menentukan nama perintah yang mengandung /
- menentukan nama file yang berisi / sebagai argumen untuk perintah bawaan
- menentukan nama file yang berisi garis miring sebagai argumen untuk opsi -p ke perintah hash builtin
- mengimpor definisi fungsi dari lingkungan shell saat startup
- mengurai nilai SHELLOPTS dari lingkungan shell saat startup
- pengalihan output menggunakan>,>|, <>,>&, &>, dan>> operator pengalihan
- menggunakan perintah bawaan exec untuk mengganti shell dengan perintah lain
- menambah atau menghapus perintah bawaan dengan opsi -f dan -d ke perintah aktifkan bawaan
- menggunakan perintah aktifkan bawaan untuk mengaktifkan bawaan shell yang dinonaktifkan
- menentukan opsi -p ke perintah perintah bawaan.
- mematikan mode terbatas dengan menyetel +r atau menyetel +o terbatas.
Cara menyetel shell terbatas
Atur lingkungan yang Anda inginkan untuk pengguna tertentu dan dapat menempatkan mereka file startup:$HOME/.bash_profile, seperti yang ditunjukkan di bawah ini:
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH bash -r
Sekarang Login dengan Pengguna &coba ubah direktori.
$ cd /etc/ bash: cd: restricted $ cd /tmp/ bash: cd: restricted
Untuk Menyetel Restricted Shell untuk Semua Pengguna, buat tautan simbolis dari /bin/bash ke /bin/rbash:
# cd /bin # ln -s bash rbash