Temukan Akun Pengguna Dengan Kata Sandi Kosong Di Linux

Jenis kata sandi terburuk bukanlah kata sandi yang lemah tetapi tidak ada kata sandi sama sekali. Sebagai admin sistem, Anda harus memastikan bahwa setiap akun pengguna memiliki kata sandi yang kuat. Tutorial singkat ini menjelaskan cara menemukan akun pengguna dengan kata sandi kosong di Linux.

Sebelum masuk ke topik, mari kita rekap cepat file bayangan dan tujuannya.
Contents
Apa Itu File Kata Sandi Bayangan? Temukan Semua Akun Pengguna Tanpa Kata Sandi Di LinuxTemukan A Akun Pengguna Tanpa Kata Sandi TertentuSetel Kata Sandi Pengguna Di LinuxKunci Akun Pengguna Di LinuxBuka Kunci Akun Pengguna Di LinuxKesimpulanApa itu File Sandi Bayangan?

Dalam sistem RHEL, sandi pengguna di-hash dan disimpan dalam file aman bernama /etc/shadow. File sandi bayangan berisi autentikasi pengguna dan detail penuaan sandi akun pengguna.

File sandi bayangan dimiliki oleh pengguna root dan hanya dapat dibaca oleh pengguna super. Anda dapat memverifikasi kepemilikan dan izin file bayangan menggunakan perintah berikut:

# ls -l /etc/shadow ---------- 1 root root 618 Apr 7 07:52 /etc/shadow

Struktur tipikal dari contoh baris bentuk file bayangan diberikan di bawah ini.

user1:$6$5ps/XV21$EFmQ463GJZnsdF/:19089:0:99999:7:::

Seperti yang mungkin sudah Anda ketahui, file bayangan memiliki sembilan bidang yang dipisahkan oleh titik dua.

Mari kita lihat sekilas setiap bidang.
Filed 1 (Login name) – Ini berisi nama Login (user1) seperti yang muncul dalam file passwd.Filed 2 (Encrypted password) – Filed ini berisi hashed (encrypted) password dari pengguna. Jika ada tanda seru tunggal (!) di awal file ini, berarti akun pengguna terkunci. Jika bidang ini kosong, pengguna tidak memiliki kata sandi. Diarsipkan 3 (Perubahan terakhir) – Bidang ini menunjukkan jumlah hari sejak zaman Unix (yaitu waktu Unix – 01 Januari 1970 00:00:00 UTC) saat kata sandi terakhir diubah. Jika bidang ini berisi 0, pengguna dipaksa untuk mengubah kata sandi mereka pada login berikutnya. Diarsipkan 4 (Minimum) – Bidang ini menunjukkan jumlah minimum hari (mindays) yang harus berlalu sebelum pengguna diizinkan untuk mengubah kata sandi mereka. Anda dapat mengubah nilai yang diajukan ini dengan perintah chage dengan opsi -m.Field 5 (Maksimum) – Menunjukkan jumlah hari (maxdays) maksimum validitas kata sandi sebelum kata sandi pengguna kedaluwarsa. Jika yang diajukan adalah 0, itu berarti fitur ini dinonaktifkan. Nilai bidang ini dapat diubah dengan perintah chage dengan opsi -M.Filed 6 (Peringatan) – Menunjukkan jumlah hari (peringatan) di mana pengguna mendapat peringatan untuk mengubah kata sandi mereka sebelum kedaluwarsa. Anda dapat mengubah nilai ini dengan perintah chage dengan opsi -W atau perintah passwd dengan opsi -w. Bidang 7 (Kedaluwarsa Kata Sandi) – Menentukan jumlah hari maksimum yang diizinkan bagi pengguna untuk dapat masuk dengan kata sandi yang kedaluwarsa. Ini dapat diubah menggunakan perintah chage dengan -I flag atau perintah passwd dengan -i flag.Field 8 (Account Expiry) – Menentukan jumlah hari sejak waktu UNIX ketika akun pengguna akan kedaluwarsa dan tidak lagi tersedia. Anda dapat mengubah nilai bidang ini menggunakan perintah chage dengan opsi -E. Bidang 9 (Dilindungi) – Bidang ini dicadangkan untuk penggunaan di masa mendatang.
A yang disebutkan di atas, kata sandi terenkripsi disimpan di bidang kedua setiap entri dalam file kata sandi bayangan, tepat setelah nama pengguna.

So, jika kolom kedua di file bayangan kosong, maka pengguna tidak memiliki kata sandi. Izinkan saya menunjukkan contoh untuk menemukan semua akun pengguna tanpa kata sandi.
Temukan Semua Akun Pengguna Tanpa Kata Sandi Di Linux

Untuk mendeteksi semua akun pengguna lokal yang tidak memiliki kata sandi, cukup jalankan perintah berikut sebagai pengguna root:

# awk -F: '$2 == "" { print $1, "memiliki kata sandi kosong!. Harap setel kata sandi yang kuat secepatnya!!" }' /etc/shadow

Contoh output:
ostechnix memiliki kata sandi kosong!. Harap setel sandi yang kuat secepatnya!!
Anda juga dapat menggunakan perintah getent yang dikombinasikan dengan perintah grep dan cut untuk mengidentifikasi akun pengguna lokal tanpa sandi di Linux.

# getent shadow | grep -Po '^[^:]*(?=::)'

Or,

# getent shadow | grep '^[^:]*::' | cut -d: -f1

Semua perintah di atas hanya akan mencantumkan akun pengguna lokal yang memiliki kata sandi kosong. Jika Anda ingin membuat daftar akun sistem dan akun pengguna dengan kata sandi kosong, run.

# getent shadow | grep -Po '^[^:]*(?=:.?:)'

Or,

# getent shadow | grep '^[^:]*:.?:' | cut -d: -f1

Temukan Akun Pengguna Tanpa Kata Sandi Tertentu

Perintah di atas akan mencantumkan semua akun lokal dan sistem yang tidak memiliki kata sandi. Anda juga dapat memeriksa status kata sandi akun pengguna tertentu menggunakan perintah passwd dengan -S flag.

# passwd -S ostechnix

Contoh keluaran:

ostechnixNP 2022-04-07 0 99999 7 -1 (Kata sandi kosong.)

Perintah passwd akan menunjukkan status kata sandi dari akun pengguna yang diberikan. Nilai yang mungkin adalah:
LK – Akun pengguna terkunci.NP – Akun pengguna tidak memiliki kata sandi.PS – Akun pengguna memiliki kata sandi yang dapat digunakan.Mengatur Kata Sandi Pengguna Di Linux

Anda dapat masuk dengan pengguna tanpa kata sandi, bagaimanapun caranya tidak direkomendasikan! Anda harus mengatur kata sandi yang kuat dengan minimal 8 karakter termasuk huruf besar, huruf kecil, karakter khusus, dan angka.

Untuk mengatur kata sandi ke akun pengguna di Linux, gunakan perintah passwd sebagai pengguna root seperti di bawah ini.

Sebagai pengguna root:

# passwd ostechnix

Ganti ostechnix dengan nama pengguna Anda sendiri.

Sekarang periksa status kata sandi akun pengguna menggunakan perintah passwd:

# passwd -S ostechnix

Contoh output:

ostechnix PS 2022-04-10-07 0 99999 )

Mengunci Akun Pengguna Di Linux

Terkadang, Anda hanya ingin mengunci akun pengguna dengan kata sandi kosong. Jika demikian, pertama-tama temukan pengguna dengan kata sandi kosong seperti yang dijelaskan di atas dan kunci mereka menggunakan perintah passwd dengan flag -l sebagai pengguna root seperti di bawah ini.

# passwd -l ostechnix

Contoh keluaran:

Locking password untuk ostechnix pengguna. passwd: Success

Sekarang, periksa status akun pengguna:

# passwd -S ostechnix

Contoh Output:

ostechnix LK 2022-04-07 0 99999 7 -1 (Kata sandi terkunci.)

Lihat? Pengguna telah dikunci. Dia tidak dapat masuk ke sistem lagi.

Anda juga dapat menggunakan perintah usermod dengan tanda -L (huruf besar L) untuk mengunci pengguna.

# usermod -L ostechnix

Buka Kunci Akun Pengguna Di Linux

Untuk membuka kunci pengguna tanpa kata sandi di Linux, gunakan baik perintah passwd atau perintah usermod dengan -p sebagai root user.

# passwd ostechnix

Masukkan kata sandi dua kali untuk membuka kunci kata sandi.

Membuka kunci pengguna dengan kata sandi kosong tidak dimungkinkan, Anda harus menyetel kata sandi dengan usermod -p untuk membuka kunci kata sandi pengguna ini.

 # usermod -p ostechnix

Conclusion

Dalam tutorial ini, kami menjelaskan apa itu file sandi Shadow dan tujuan file ini di Linux. Kemudian kami membahas tentang berbagai perintah untuk menemukan semua akun pengguna yang tidak memiliki kata sandi di Linux. Terakhir, kami mempelajari cara mengatur kata sandi untuk pengguna dan juga cara mengunci dan membuka kunci pengguna di Linux.