Lock dan Unlock User Account Linux
Lock dan Unlock User Account Linux

Panduan Lengkap: Lock dan Unlock User Account Linux

Dalam dunia manajemen sistem, khususnya untuk pengelolaan sistem back-end, Linux telah memainkan peran yang sentral.

Dukungannya diperkuat oleh beragam alat yang dirancang khusus, yang bahkan dapat dilihat dari fondasi dasarnya, kombinasi antara kernel Linux dan utilitas GNU.

Menguasai manajemen account user, termasuk cara lock unlock user account linux, adalah keterampilan wajib bagi admin Linux.

Dalam tutorial ini, kita akan mengeksplorasi beberapa cara untuk melakukan kedua operasi tersebut. Kabar baiknya, teknik-teknik ini bersifat universal dan dapat digunakan di hampir semua distro Linux.

Locking Password

Perhatikan bahwa kedua metode awal hanya mengunci kata sandi akun, bukan akses sepenuhnya. Jika user memiliki metode autentikasi lain (seperti kunci SSH), mereka tetap dapat masuk.

Untuk memblokir akses secara menyeluruh, lihat metode terakhir yang kami jelaskan.

1. usermod

Sebagai alat serba guna untuk mengelola account user, usermod menawarkan opsi -L yang khusus dirancang untuk lock password.

Cukup dengan menambahkan flag tersebut, perintah akan langsung menjalankan fungsinya. Berikut bentuk penulisannya:

sudo usermod -L username
sudo passwd –status username

Lock Password Username angga
Lock Password Username angga

Kebalikan dari proses penguncian, pembukaan kunci akun dilakukan menggunakan flag -U pada perintah yang sama. Berikut bentuk perintahnya:

sudo usermod -U username

Unlock Password Username angga
Unlock Password Username angga

2. passwd

Selain perintah sebelumnya, utilitas passwd juga menyediakan fungsi manajemen password, termasuk opsi khusus untuk lock account.

sudo passwd -l username

passwd lock username angga
passwd lock username angga

Kebalikan dari perintah passwd -l (lock), pembukaan kunci dilakukan dengan opsi -u (unlock). Sintaks lengkapnya adalah:

sudo passwd -u username

passwd unlock username angga
passwd unlock username angga

Untuk memverifikasi hasil eksekusi perintah, periksa file /etc/shadow. File sistem ini berisi data password terenkripsi dan terkait dengan username masing-masing account.

Jika kamu membandingkan entri di file /etc/shadow sebelum dan setelah proses penguncian, akan terlihat penambahan tanda seru (!) di depan passowrd terencryption. Tanda inilah yang mengindikasikan status terkunci pada account username.

Sebelum Lock Password :

sebelum Lock Password User angga
sebelum Lock Password User angga

Setelah Lock Password :

sesudah Lock Password User angga
sesudah Lock Password User angga

Check Status

Berikut perintah sederhana untuk memverifikasi apakah sebuah akun dalam keadaan terkunci atau tidak:

sudo passwd –status username

Status User angga Lock
Status User angga Lock

Dalam output yang dihasilkan, keberadaan karakter “L” setelah nama pengguna merupakan indikator bahwa akun tersebut sedang dalam status terkunci.

Locking Accounts

Penting untuk dipahami bahwa mengunci kata sandi seperti yang juga dijelaskan dalam dokumentasi resmi passwd dan usermod bukanlah cara yang efektif untuk mengunci akses seorang pengguna.

Kelemahan utamanya, metode ini tidak berlaku untuk autentikasi berbasis SSH Key.

Pendekatan yang lebih tepat dengan mengunci akun secara keseluruhan, salah satunya dengan menetapkan tanggal kedaluwarsa untuk akun tersebut.

1. usermod

Perintah usermod dapat dikatakan sebagai solusi terpadu untuk hampir semua kebutuhan konfigurasi akun pengguna.

Fungsinya mencakup kemampuan untuk mengunci kata sandi serta mengatur tanggal kedaluwarsa akun, guna menonaktifkan akses login secara menyeluruh.

sudo usermod –expiredate 1 username

Menonaktifkan user angga
Menonaktifkan user angga

Perintah ini akan langsung menonaktifkan akun pengguna.

2. chage

Utilitas chage berfungsi untuk mengatur parameter kedaluwarsa akun pengguna. Penetapan tanggal kedaluwarsa (-E) ke nilai 0 akan menyebabkan akun tersebut langsung dinonaktifkan.

sudo chage -E 0 username

chage Menonaktifkan user angga
chage Menonaktifkan user angga

Karena tujuan kita adalah menonaktifkan akun secara permanen, konfigurasi yang paling efektif adalah mengatur tanggal kedaluwarsanya. Untuk membuat akun tidak pernah kedaluwarsa, jalankan perintah berikut:

sudo chage -E -1 username

Setting agar user angga tidak kadaluwarsa
Setting agar user angga tidak kadaluwarsa

Sebagai alternatif, kamu juga dapat menetapkan tanggal kedaluwarsa yang spesifik dengan perintah berikut:

sudo chage -E YYYY-MM-FF username

Check Status

Status kedaluwarsa akun dapat diverifikasi menggunakan perintah chage. Berikut perintah untuk memeriksanya:

sudo chage -l username

Cek Status Kadaluawarsa User angga
Cek Status Kadaluawarsa User angga

Seperti halnya penguncian kata sandi, perubahan pada akun yang telah kedaluwarsa juga tercatat di file /etc/shadow.

Perbedaannya terletak pada field sebelum titik dua terakhir, di mana spasi kosong akan digantikan oleh angka “1” sebagai penanda status kedaluwarsa.

Keadaan normal:

Sebelum akun angga kadaluwarsa
Sebelum akun angga kadaluwarsa

Setelah akun Kedaluwarsa:

Setelah Akun angga kadaluarwasa
Setelah Akun angga kadaluarwasa

Konfigurasi manual memang memungkinkan, namun berisiko tinggi terhadap kesalahan. Oleh karena itu, sebaiknya gunakan perintah yang telah dijelaskan sebelumnya.

Replace shell

Saat pengguna melakukan login, sistem menggunakan apa yang disebut “login shell”. Meskipun jarang terlihat di lingkungan desktop modern, kamu dapat mengaksesnya dengan menekan CTRL+ALT+F1.

Kombinasi tombol ini akan membawa kamu ke antarmuka teks murni (TTY) yang memverifikasi identitas melalui login dan kata sandi sebelum mengizinkan akses perintah. Inilah hakikat dari login shell.

1. Mengganti shell menjadi nologin

Metode efektif untuk mengunci akun pengguna adalah dengan mengganti shell default mereka menjadi nologin, sehingga mencegah akses login sejak awal. Gunakan perintah berikut:

sudo usermod -s /sbin/nologin username

Merubah Shell user angga nologin
Merubah Shell user angga nologin

Konfigurasi ini akan menyebabkan sistem menampilkan pesan penolakan saat ada upaya login ke akun tersebut.

2. Mengubah shell menjadi false

Alternatif lain adalah mengubah shell pengguna menjadi /bin/false. Berbeda dengan nologin yang menampilkan pesan penolakan, opsi ini akan secara langsung memutus koneksi tanpa pesan apa pun setiap kali pengguna mencoba masuk.

Meskipun terkesan lebih keras, metode ini tetap memiliki manfaat dalam skenario tertentu.

sudo usermod -s /bin/false username

Menonatktifkan shell menjadi false
Menonatktifkan shell menjadi false

Reversal

Konfigurasi ini dapat dikembalikan dengan mengubah shell pengguna ke setting default. Untuk mengetahui shell default sistem, periksa berkas /etc/passwd dan bandingkan dengan akun pengguna lain. Shell Bash umumnya menjadi default di sebagian besar distribusi Linux. Berikut perintah untuk mengaturnya:

sudo usermod -s /bin/bash username

Merubah shell user angga jadi bash
Merubah shell user angga jadi bash

Perubahan shell pengguna dapat diverifikasi dengan memeriksa file /etc/passwd. Pada sistem default, shell biasanya ditetapkan sebagai /bin/bash.

Setelah melakukan modifikasi, entri dalam file tersebut akan menampilkan shell yang baru.

Melihat Shell di File passwd
Melihat Shell di File passwd

Perubahan shell dapat dilakukan secara manual melalui edit file /etc/passwd, namun pendekatan ini berisiko menyebabkan kesalahan konfigurasi. Sebaiknya gunakan perintah yang telah disediakan.