Membatasi Command Untuk User di Linux


Bagus Koko Wibawanto

12 Desember 2023

User user tertentu mungkin perlu kita batasi penggunaan command agar kasus kasus seperti tidak sengaja menjalankan command reboot atau shutdown di server tidak pernah terjadi. Di Linux kita bisa melakukan pembatasan untuk binary command, contohnya agar hanya bisa menjalankan beberapa binary saja.


Kita buat user terlebih dahulu.


$ useradd -m buggy -s /bin/rbash
$ echo buggy:buggy | chpasswd

# rbash = restricted bash
					

Buat directory "bin" di dalam home directory user buggy.


$ mkdir /home/buggy/bin
					

Buat file ".bash_profile" di dalam home directory user buggy dan isi filenya seperti di bawah ini.


PATH=$HOME/bin

if [ -f .bashrc ]; then
        . bashrc
fi
					

Kita mendefinisikan PATH variable agar nantinya command command yang ingin kita izinkan untuk user buggy dibuatkan symbolic link ke directory bin tersebut. Dan untuk conditional pada script di atas tujuannya untuk meload file .bashrc.


Selanjutnya kita buat symbolic link dari binary command tertentu ke folder bin.


$ ln -rs /usr/bin/ls /home/buggy/bin/ls
$ ln -rs /usr/bin/pwd /home/buggy/bin/pwd
$ ln -rs /usr/bin/whereis /home/buggy/bin/whereis
$ ln -rs /usr/bin/ssh /home/buggy/bin/ssh
$ ln -rs /usr/bin/ping /home/buggy/bin/ping
$ ln -rs /usr/bin/nc /home/buggy/bin/nc
					

Sekarang tinggal kita test dengan cara masuk ke user buggy.


Test pertama hasilnya adalah tidak bisa melakukan tab atau tidak bisa untuk auto completion.

Test kedua adalah mencoba semua binary command yang ada di directory bin.

Test ketiga adalah mencoba binary command yang tidak ada di directory bin.

Kita sudah berhasil untuk membatasi penggunaan command pada user buggy sehingga user buggy hanya bisa menjalankan command yang ada di directory "/home/buggy/bin" dan ini berarti kita sudah menjauhkan dari kasus tidak sengaja menjalankan command.