GNU/Linux >> Belajar Linux >  >> Linux

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 singkat bayangan file dan tujuannya.

Apa itu File Sandi Bayangan?

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

File sandi bayangan dimiliki oleh root pengguna 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 khas dari contoh baris dari 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 dipisahkan oleh titik dua.

Mari kita lihat sekilas setiap bidang.

  • Diarsipkan 1 (Nama login) - Ini berisi nama Login (pengguna1) seperti yang muncul di passwd berkas.
  • Diarsipkan 2 (Kata sandi terenkripsi) - File ini berisi kata sandi pengguna yang di-hash (terenkripsi). Jika ada tanda seru tunggal (!) di awal file ini, berarti akun pengguna terkunci. Jika bidang ini kosong, pengguna tidak memiliki kata sandi.
  • Mengajukan 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.
  • Diajukan 4 (Minimum) - Bidang ini menunjukkan jumlah hari (mindays) minimum yang harus dilalui sebelum pengguna diizinkan untuk mengubah kata sandinya. Anda dapat mengubah nilai yang diajukan ini dengan chage perintah dengan -m pilihan.
  • Bidang 5 (Maksimum) - Menunjukkan jumlah hari maksimum (maxdays) validitas kata sandi sebelum kata sandi pengguna kedaluwarsa. Jika yang diajukan adalah 0, itu berarti fitur ini dinonaktifkan. Nilai bidang ini dapat diubah dengan chage perintah dengan -M pilihan.
  • Diajukan 6 (Peringatan) - Menunjukkan jumlah hari (peringatan) di mana pengguna mendapat peringatan untuk mengubah kata sandi mereka sebelum kedaluwarsa. Anda dapat mengubah nilai ini dengan chage perintah dengan -W opsi atau passwd perintah dengan -w pilihan.
  • Bidang 7 (Kata Sandi Kedaluwarsa) - Menentukan jumlah hari maksimum yang diizinkan bagi pengguna untuk dapat masuk dengan kata sandi yang kedaluwarsa. Ini dapat diubah menggunakan chage perintah dengan -I tandai atau passwd perintah dengan -i bendera.
  • Bidang 8 (Kedaluwarsa Akun) - Menentukan jumlah hari sejak waktu UNIX ketika akun pengguna akan kedaluwarsa dan tidak lagi tersedia. Anda dapat mengubah nilai bidang ini menggunakan chage perintah dengan -E pilihan.
  • Bidang 9 (Dipesan) - Bidang ini dicadangkan untuk penggunaan di masa mendatang.

Yang disebutkan di atas, kata sandi terenkripsi disimpan di bidang kedua dari setiap entri dalam file kata sandi bayangan, tepat setelah nama pengguna.

Jadi, 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 root pengguna:

# awk -F: '$2 == "" { print $1, "has empty password!. Please set a strong password ASAP!!" }' /etc/shadow

Contoh keluaran:

ostechnix has empty password!. Please set a strong password ASAP!!

Anda juga dapat menggunakan getent perintah dikombinasikan dengan grep dan cut perintah untuk mengidentifikasi akun pengguna lokal tanpa kata sandi di Linux.

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

Atau,

# 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, jalankan.

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

Atau,

# 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 sandi akun pengguna tertentu menggunakan passwd perintah dengan -S bendera.

# passwd -S ostechnix

Contoh keluaran:

ostechnix NP 2022-04-07 0 99999 7 -1 (Empty password.)

passwd perintah 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.

Perhatian: Dalam sistem berbasis Debian, status kata sandi akan dilambangkan sebagai L , N , P masing-masing.

Menetapkan Kata Sandi Pengguna Di Linux

Anda dapat masuk sebagai pengguna tanpa kata sandi, itu baik-baik saja. Namun tidak disarankan! Anda harus menetapkan 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 passwd perintah sebagai root pengguna seperti di bawah ini.

Sebagai pengguna root:

# passwd ostechnix

Ganti ostechnix dengan nama pengguna Anda sendiri.

Sekarang periksa status kata sandi akun pengguna menggunakan passwd perintah:

# passwd -S ostechnix

Contoh keluaran:

ostechnix PS 2022-04-07 0 99999 7 -1 (Password set, SHA512 crypt.)

Kunci 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 dijelaskan di atas dan kunci mereka menggunakan passwd perintah dengan -l tandai sebagai root pengguna seperti di bawah ini.

# passwd -l ostechnix

Contoh keluaran:

Locking password for user ostechnix.
passwd: Success

Sekarang, periksa status akun pengguna:

# passwd -S ostechnix

Contoh Keluaran:

ostechnix LK 2022-04-07 0 99999 7 -1 (Password locked.)

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

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

# usermod -L ostechnix

Buka Kunci Akun Pengguna Di Linux

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

# passwd ostechnix

Masukkan kata sandi dua kali untuk membuka kunci kata sandi.

Membuka kunci pengguna dengan kata sandi kosong dengan usermod perintah tidak mungkin, Anda harus mengatur kata sandi dengan usermod -p untuk membuka kunci sandi pengguna.

# usermod -p <password-here> ostechnix

Kesimpulan

Dalam tutorial ini, kami menjelaskan apa itu file sandi Shadow dan tujuan dari 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 menyetel sandi untuk pengguna dan juga cara mengunci dan membuka kunci pengguna di Linux.


Linux
  1. Cara Menghapus Akun Pengguna dengan Direktori Rumah di Linux

  2. Otomatisasi kata sandi SSH di Linux dengan sshpass

  3. Kata Sandi Panik di Linux

  1. Instal WordPress di Linux dengan Apache

  2. Setel atau ubah kata sandi pengguna di Linux

  3. Cara mengizinkan ssh dengan kata sandi kosong di Linux

  1. Cara mereset kata sandi Windows dengan Linux

  2. Cara Mengubah Kata Sandi Pengguna di Linux

  3. Bagaimana cara memeriksa kata sandi dengan Linux?