Pada sistem operasi berbasis Linux, termasuk juga RHEL, konsep user account merupakan salah satu hal yang penting. Dengan adanya user account, penggunaan sistem akan tercatat dan juga hak akses dapat disesuaikan.
Root dan Sudo
Secara default sistem Linux memiliki akun root
yang bisa diibaratkan seperti “akun super” yang bisa melakukan banyak hal (mungkin hampir semua hal) pada sistem. Namun karena banyaknya hal yang dapat dilakukan oleh akun root
, maka hal ini dapat dianggap berisiko.
Alternatifnya adalah menggunakan sudo
(superuser do) pada sistem Linux. sudo
memungkinkan user yang dipercaya dapat menjalankan perintah administratif lebih tanpa perlu masuk sebagai akun root
.
Mengapa lebih direkomendasikan untuk menggunakan sudo
instead of akun root
langsung?
- Lebih aman. Akses
root
dengan menggunakansudo
berlaku untuk beberapa waktu saja, tidak permanen. - Tercatat dalam log. Tiap perintah atau aksi yang dilakukan dengan menggunakan
sudo
akan tercatat dalam sistem. Sehingga dapat membantu memudahkan admin untuk “melacak” siapa yang melakukan apa. - Mengurangi risiko kesalahan fatal. Penggunaan akses
root
langsung bisa saja memungkinkan pengguna untuk melakukan ‘kerusakan’ atau perubahan fatal pada sistem secara tidak sengaja.
Membuat User Baru
Akun/user di Linux memiliki UID (User ID) yang unik, grup (group), dan juga home directory untuk menyimpan file pribadi. Untuk menambahkan akun baru, kita bisa menggunakan perintah useradd
, lalu kita atur kata sandinya dengan menggunakan perintah passwd
.
Contohnya adalah pada pengujian kali ini, mari kita buat user baru dengan nama ignite
:
$ sudo useradd ignite
$ sudo passwd ignite
Kata sandi baru:
Ketik ulang kata sandi baru:
passwd: kata sandi diperbaharui dengan sukses
Sistem akan membuat home directory untuk akun ignite
di /home/ignite
, menambahkan ignite
ke grup dengan nama yang sama (ignite
), dan juga memberikan UID untuk ignite
.
Modifikasi User
Tidak jarang, kita memerlukan perubahan pada detail dari akun yang sudah kita tambahkan pada sitem Linux. Misalnya:
- Ingin menambahkan user ke group tertentu.
- Mengubah default shell yang digunakan (instead of the default one – Bash).
- Memindahkan home directory ke lokasi lain.
Kebutuhan tersebut dapat diakomodir dengan menggunakan perintah usermod
.
Menambahkan User ke Group
Secara default, user hanya tergabung ke dalam primary group yang otomatis dibuat oleh sistem dengan nama yang sama dengan user tersebut.
Misalnya, kita mau menambahkan ignite
ke dalam grup developer
. Kita bisa menggunakan perintah:
sudo usermod -aG developers ignite
-a
: append/menambahkan.-G
: menentukan grup.
Ini contoh saja, untuk detail lain mengenai group akan saya coba tulis di tulisan yang akan datang ya.
Mengubah Default Shell
Secara default biasanya shell yang digunakan adalah bash
. Untuk mengganti default shell dengan shell lain (misalnya zsh
), kita bisa menggunakan perintah:
sudo usermod -s /bin/zsh ignite
Daftar shell yang tersedia dapat dicek menggunakan perintah:
$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux
/bin/tmux
/usr/bin/zsh
/bin/zsh
Memindahkan Home Directory
Kita bisa memindahkan home directory ignite
dari /home/ignite
ke… misalnya /opt/users/ignite
dengan menggunakan perintah usermod -d
:
sudo usermod -d /opt/users/ignite -m ignite
Mengunci dan Membuka Akun
Dalam beberapa kondisi bisa saja admin perlu mengunci akun user agar tidak bisa masuk ke sistem, misalnya saat akun sedang tidak digunakan ataupun saat ada indikasi abuse. Kemudian, akun yang sebelumnya dikunci juga dapat dibuka kembali.
Perintah yang digunakan untuk task ini adalah passwd
dengan flag -l
(lock) atau -u
(unlock).
Mengunci Akun
sudo passwd -l ignite
Perintah di atas akan menyebabkan akun ignite
tidak bisa login atau masuk ke dalam sistem.
Membuka Kunci Akun
sudo passwd -u ignite
Perintah di atas akan mengaktifkan kembali akun ignite
yang sebelumnya dikunci. Sehingga akun tersebut dapat kembali login atau masuk ke dalam sistem.
Menghapus Akun
Jika akun user sudah tidak dibutuhkan lagi, admin dapat menghapus akun tersebut dengan menggunakan perintah userdel
.
Menghapus User (home directory tidak dihapus)
sudo userdel ignite
Perintah di atas akan menghapus akun ignite
dari sistem, namun file-file yang berada di home directory-nya (/home/ignite
) dan mail spool tidak dihapus.
Menghapus User Beserta Home Directory & Mail Spool
sudo userdel -r ignite
Perintah di atas akan menghapus akun ignite
sekaligus home directory (/home/ignite
) dan mail spool-nya. Opsi ini digunakan apabila memang sudah yakin bahwa akun tersebut sudah tidak akan digunakan/dipakai lagi.
Catatan: Sebelum menghapus akun, pastikan kembali bahwa sudah tidak ada proses yang sedang dijalankan oleh akun tersebut. Salah satu cara untuk ceknya adalah dengan menggunakan perintah:
ps -u ignite
Apabila masih ada proses yang dijalankan, kita dapat menghentikannya dengan perintah kill
atau pkill
.
Penutup
Manajemen akun di Linux, termasuk RHEL adalah salah satu keterampilan dasar yang perlu dikuasai oleh SysAdmin. Mulai dari membuat akun baru, mengedit detail akun, kunci-buka akun, hingga menghapus akun.
Penggunaan sudo
juga lebih direkomendasikan dibandingkan dengan langsung login menggunakan root
karena lebih aman, aktivitasnya tercatat di log, dan mengurangi risiko kesalahan fatal pada sistem.
Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.