Mendapatkan kata sandi berakhir waktu

16

Saya perkenalkan ini dengan: Saya TIDAK memiliki akses root yang tersedia.

Saya baru-baru ini dikunci dari akun saya karena saya tidak tahu bahwa kedaluwarsa kata sandi semakin dekat, lalu berlalu. Saya ingin menambahkan cek ke skrip startup saya yang memeriksa dan menampilkan waktu jadi saya tahu kapan itu akan datang.

Apakah ada perintah atau cara untuk mendapatkan cap waktu ketika kata sandi pengguna saya akan kedaluwarsa?

steveo225
sumber

Jawaban:

16

Anda harus dapat memperoleh informasi itu dari chageutilitas. Tidak memerlukan root untuk dijalankan dalam mode daftar.

Catatan: ini kemungkinan besar hanya berfungsi untuk passwdotentikasi berbasis -lokal . Saya tidak tahu apakah itu dapat dibuat untuk bekerja dengan mode otentikasi yang tidak memasukkan informasi login di file passwd/ shadow. Saya menduga solusi ini menyediakan alat mereka sendiri, tetapi tidak tahu tentang mereka.

$ chage -l test                       
Last password change                                : Apr 17, 2012
Password expires                                    : Apr 27, 2012
Password inactive                                   : never
Account expires                                     : May 20, 2012
Minimum number of days between password change      : 0
Maximum number of days between password change      : 10
Number of days of warning before password expires   : 7

Saya telah menggunakannya dengan awk cepat untuk menampilkan tanggal kedaluwarsa kata sandi saya saat login.

Tikar
sumber
Aneh, saya mendapatkan kesalahan: pengguna tidak dikenal. Aku bahkan berusaha whoami | xargs chage -lmemastikan aku tidak melakukan sesuatu yang salah.
steveo225
Apa yang whoami kembali, dan apa yang grep $(whoami) /etc/passworddilakukan?
Mat
Tampaknya ini hanya berfungsi jika pengguna lokal (tidak dalam LDAP atau database lain).
Patrick
@ Patrick: Anda kemungkinan besar benar, dan saya tidak memiliki akses ke mesin dengan jenis pengaturan otentikasi. Jadi tidak bisa memberikan info tambahan.
Mat
whoamimemang mengembalikan nama pengguna yang tepat, tetapi saya yakin sistem menggunakan LDAP.
steveo225
2

Di ldap Anda akan melakukan sesuatu seperti:

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
maikcat
sumber
0

Dari chageAnda dapat melakukan beberapa perubahan dan dapat mengetahui detail login sebagai berikut ...

Usage: chage [options] [LOGIN]

Options:
  -d, --lastday LAST_DAY        set date of last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

dan jika Anda memiliki akses Root maka dapat mengubah kata sandi Anda waktu kedaluwarsa hanya mengedit ..

vim /etc/login.defs

cukup atur vlaues di bawah ini ...

PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

Ini dapat membantu Anda

Vinood NK Maheshwari
sumber