Cara Mengatur Hak Akses User Linux terhadap Shell dan Sudoers

Hak Akses/Permission user terhadap Shell dan Sudoers

Saat kamu membuat user ,kamu sebagai root bisa mengatur home directory dan apakah user tersebut dibolehkan mengakses shell atau tidak,karena user pada linux tidak semua memerlukan shell akses (untuk alasan keamanan) saat digunakan.

Taukah kamu ,di linux setiap service mempunyai user dan privilage sendiri untuk menjalankan service ,Misalnya MariaDB service (Database server) menggunakan user mysql tanpa shell (/sbin/nologin) dan aplikasi daemon (service)lain nya juga berkarakteristiks eperti mariaDB.
user dan shell linux

 

shell path /sbin/nologin pada user mysql  artinya user mysql memang tidak diberikan akses ke shell,karena service MariaDB yang menggunakan user mysql untuk menjalankan service tidak memerlukan shell(kalau gak perlu maka jangan dikasih,ini untuk alasan keamanan).

 

Mengenal Apa itu Shell pada linux?

Shell -Simpel nya shell adalah program yang mengambil perintah dari ketikan yang kamu ketik lewat keyboard dan memberikan nya kepada Sistem operasi untuk dijalankan.Pada zaman dahulu kala shell merupakan  satu satunya interface yang ada pada komputer berbasis Unix untuk melakukan interaksi dengan komputer tersebut.Pada zaman modern seperti sekarang ini komputer mempunyai banyak interface seperti graphical user interfaces (GUIs) dan command line interfaces (CLIs) yang berguna seperti shell untuk mengetikan perintah dalam bentuk text dengan keyboard seperti zaman dahulu kala.

Aplikasi Shell -mayoritas Linux modern saat ini menggunakan bash yang bertindak sebagai aplikasi shell ,bash yang merupakan akronim dari Bourne Again SHell,merupakan pengembangan dari aplikasi shell sebelumnya dengan nama sh yang dibuat oleh Steve Bourne.bash bukan satu-satunya aplikasi shell namun bash digunakan oleh sebagian besar distro linux, aplikasi shell selain bash antara lain ksh,tcsh dan zsh.

Terminal emulator – Karena linux sekarang sudah menggunakan GUI dan untuk memudahkan mengakses shell maka linux menggunakan terminal emulator,ada banyak jenis terminal emulator saat ini yang pada dasarnya sama yaitu memudahkan user untuk mengakses shell dari GUI tanpa harus menggunakan remote SSH atau melalui TTY. bebrapa terminal emulator yang populer diantaranya Xterm,gnome-terminal,konsole,rxvt dll.

Cara setting HakAkses/Permisson/privileges user terhadap Linux Shell

Path– ada beberapa path yang menyatakan bahwah user tidak diberi akses ke shell, path ini baiknya dicek dulu untuk setiap distro linux yang kalian gunakan dan gunakan yang tersedia pada linux kalian .Path yang menyatakan tanpa wewenang shell antara lain /bin/false , /bin/nologin ,  /sbin/nologin ,  /usr/sbin/nologin . dengan memberikan path yang disediakan oleh sistem maka user masih bisa melakukan login melalui SSH (jika diberi permission remote dan login) dan bisa melakukan port forwarding (tehnik ini biasanya dipakai oleh jasa penjualan akun SSH premium untuk proxy)

Untuk  mengeset akses shell user bisa kamu lakukan saat membuat user atau setelah user dibuat. contoh pemberian akses user ke shell saat user dinbuat [[email protected] masarie]# useradd -md /home/andi -s /bin/bash andi   dan untuk mencabut akses shell user andi maka kamu gunakan perintah [[email protected] masarie]# usermod -s /bin/false andi

melihat shell user – Untuk melihat shell user  kita bisa melihat isi file /etc/passwd dengan perintah cat /etc/passwd  dan untuk melakukan pencarian tertentu kita gunakan cat /etc/passwd |grep andi

melihat shell yang digunakan user pada linux

Mengenal Apa itu sudoers

Walau user diberi akses ke shell namun bukan berarti user tersebut mempunyai akses penuh ke mesin,karena hanya user dengan privilage root yang mempunyai akses tak terbatas terhadap  mesin.Pemberian privilage root harus dipertimbangkan dengan matang karena jika diberikan ke user yang salah maka akibatnya bisa fatal.

Sudo– Karena tanggung jawab yang begitu besar memegang akses root maka sudo ada dengan segala kemudahan nya, sudo pada dasarnya mengizinkan administrator memberikan wewenang kepada user atau user yang ada didalam group utnuk menjalankan perintah dengan privilage root (bukan user root tapi bisa menjalankan perintah root).

sudo merupakan alternatif dari su untuk menjalankan perintah sebagai root.tidak seperti su yang menjalankan shell /terminal emulator sebagai root,sudo hanya memberikan akses root secara sementara kepada sebaris perintah yang didepan nya dibubuhi sudo.Dengan hanya memberikan akses root secara sementara,sudo memeprkecil kemungkinan kerusakan system yang dikarenakan salah  mengetik perintah /typo. Contoh : jika kita ingin merubah owner menggunakan perintah chown maka kita tambahkan sudo didepannya agar perintah chown dieksekusi dengan privilage root  [[email protected] ~]$ sudo chown andi:users /home/andi

Cara setting hak akses/permission/privileges user untuk sudoers

Ada beberapa cara agar user yang kamu inginkan bisa mendapatkan akses root dengan memasukan user yang dimaksud pada sudoers,namun mengedit langsung file /etc/sudoers dan menambahkan user yang dimaksud adalah solusi paling mudah .

Edit file sudoers dengan perintah sudo nano /etc/sudoers dan tambahkan user dibawah ## User privilege specification dengan format namauser ALL=(ALL) ALL  jangan hapus baris  root ALL=(ALL) ALL tambahkan saja dibawah nya
L
save dengan menekan ctrl+x lalu Y lalu tekan enter

KESIMPULAN:

Saat kamu membuat user pada linux baiknya kamu memperhatikan hak akses user/permission user terhadap shell/command,memberikan akses shell/command kepada user secara tidak bijakdapat menyebabkan resiko hacking terhadap linux yang kamu kelola jika sampai hacker menggunakan user yang telah kamu buat.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.