Bagaimana saya bisa tahu jika kata sandi saya disetel?

19

Saya telah menggunakan server ini selama beberapa bulan. Pada awalnya saya mengirim admin kunci ssh publik saya, dan dia mengatur akun untuk saya, dan saya hanya menggunakan kunci ssh untuk login. Saya jelas tidak memiliki kata sandi pada awalnya.

Sejak itu saya mungkin atau mungkin belum mengatur kata sandi menggunakan passwd. Sekarang jika saya menggunakan passwdsaya melihat ini.

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

Meskipun sepertinya saya memiliki kata sandi, saya tidak memiliki memori untuk melakukan hal ini.

Bagaimana saya bisa memberi tahu secara meyakinkan apakah kata sandi saya disetel?

EDIT:
Saya tidak bisa masuk atau mengubah kata sandi, karena saya tidak tahu apa kata sandinya (kata sandi kosong tidak berfungsi). Distro adalah rilis Fedora 20 (Heisenbug).

langit-langit kucing
sumber
Cobalah masuk tanpa kata sandi (dan tentu saja tanpa kunci privat ssh Anda).
didierc
Saya tidak bisa masuk karena saya tidak tahu kata sandinya, dan blank tidak berfungsi. Saya menambahkan info ini di pertanyaan awal.
plafon kucing
1
Pada konsol login, kata sandi kosong sama dengan kata sandi tidak.
didierc
Anda akan mendapatkan prompt kata sandi ini bahkan jika tidak ada kata sandi yang dikonfigurasikan untuk akun tersebut. Jika tidak ada kata sandi yang dikonfigurasi, passwdakan mengadu kata sandi yang salah apa pun yang Anda ketik.
Gilles 'SANGAT berhenti menjadi jahat'
Saya telah memverifikasi bahwa pada vanilla Fedora 20 menggunakan kata sandi bayangan lokal, passwdtidak akan meminta kata sandi Anda saat ini jika Anda tidak memilikinya. Cara lain untuk memeriksa adalah mengetik su myusername; jika tidak ada kata sandi, itu tidak akan meminta satu. Tetapi semua ini dapat ditimpa oleh administrator sistem, misalnya dengan menghapus nullokopsi dari pam_unixentri /etc/pam.d/*, dalam hal ini seorang non-administrator tidak dapat memberi tahu siapa yang memiliki kata sandi dan siapa yang tidak, kecuali mungkin dengan melakukan tes waktu.
Mark Plotnick

Jawaban:

31

Cara terbaik adalah dengan perintah berikut:

passwd --status username

Dari manusia passwd:

Tampilkan informasi status akun. Informasi status terdiri dari 7 bidang. Bidang pertama adalah nama login pengguna. Kolom kedua menunjukkan apakah akun pengguna memiliki kata sandi yang dikunci (L), tidak memiliki kata sandi (NP), atau memiliki kata sandi yang dapat digunakan (P). Kolom ketiga memberikan tanggal perubahan kata sandi terakhir. Empat bidang berikutnya adalah usia minimum, usia maksimum, periode peringatan, dan periode tidak aktif untuk kata sandi. Zaman ini dinyatakan dalam hari.

Jadi, jika bidang output kedua adalah NP, maka, pengguna itu tidak memiliki kata sandi.

jherran
sumber
Saya mendapat$ passwd --status Only root can do that.
langit
Dalam hal ini, coba sudo passwd username --status.
jherran
Saya dapat $ sudo passwd myusername --status [sudo] password for myusername:tetapi karena saya tidak tahu kata sandi saya, saya tidak bisa melanjutkan.
plafon kucing
Saya menguji perintah asli saya dan harus bekerja dengan baik dengan pengguna yang baru dibuat tanpa izin khusus: $ passwd --status testkembali test P 02/15/2015 0 99999 7 -1.
jherran
Aneh. Saya bertanya-tanya apakah admin telah mengaturnya dengan cara yang tidak standar.
plafon kucing
4

Anda dapat menguji ini dengan 2 cara mudah.

  1. Tepat setelah Anda mengubah kata sandi, sebagai tipe root login, itu akan membawa Anda ke prompt login / kata sandi.

  2. Tergantung pada peluang sistem Anda, apakah Anda menggunakan kata sandi bayangan. File untuk itu ada di /etc/shawdowAnda dapat melihat file itu untuk melihat apakah akun Anda memiliki perubahan padanya.

Ini adalah contoh dengan akun tanpa set passwrod:

postgres: :16462:0:99999:7:::

Berikut ini tampilannya bagi pengguna dengan kata sandi:

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

Pemberitahuan antara : :kata sandi terenkripsi dan untuk akun postgres tidak ada kata sandi

Dustin Hargrove
sumber
Untuk # 1, saya tidak dapat mengubah kata sandi, karena saya tidak tahu apa kata sandinya. Jika saya memasukkan kosong, katanya passwd: Authentication token manipulation error. Untuk # 2, saya tidak punya /etc/shawdow. Ada /etc/shadow, tetapi izinnya adalah 000. (tidak yakin apakah ini penting) Saya lupa menyebutkan bahwa saya memiliki Fedora merilis 20 (Heisenbug). Mungkin seharusnya meletakkan informasi ini di pertanyaan awal.
plafon kucing
Kesalahan token Anda cenderung berasal dari izin yang salah. Apakah Anda menggunakan Single usermode? Ketika Anda boot, apakah itu boot normal? Juga untuk memeriksa ketik "mount" Anda ingin memastikan setiap hal dipasang sebagai rw (baca dan tulis)
Dustin Hargrove
Juga itu izin yang salah, distro apa ini?
Dustin Hargrove
Saya tidak berpikir server berada dalam mode pengguna tunggal. Saya masih bisa masuk menggunakan kredensial ssh, dan saya bisa melihat pengguna lain dengan who. Semua yang tercantum dalam mountterdaftar sebagai rw. Distro adalah rilis Fedora 20 (Heisenbug).
plafon kucing
1

Coba gunakan yang berikut ini:

passwd -S

Dari passwd (1) halaman manual yang kita baca:

-S Laporkan status kata sandi pada akun yang disebutkan. Bagian pertama menunjukkan jika akun pengguna terkunci (LK), tidak memiliki kata sandi (NP), atau memiliki kata sandi yang sudah ada atau terkunci (PS). Bagian kedua memberikan tanggal perubahan kata sandi terakhir. Bagian selanjutnya adalah usia minimum, usia maksimum, periode peringatan, dan periode tidak aktif untuk kata sandi.

trikelef
sumber
0

Anda mungkin ingin melihat file / etc / passwd. Kolom kedua pada pengguna Anda menunjukkan kata sandi. Jika tidak ada, Anda mungkin tidak memiliki kata sandi untuk login Anda. Di sisi lain, jika Anda memiliki x pada bidang ini, Anda memiliki kata sandi yang terkait dan mungkin ada di file / etc / shadow

dgsleeps
sumber
Terima kasih! Ada x. Saya rasa saya punya kata sandi. Tidak ada /etc/shadowfile.
plafon kucing
1
@ceilingcat Jika Anda melihat x, itu tidak memberi tahu Anda tentang apakah kata sandi ditetapkan. Anda perlu melihat /etc/shadow(yang membutuhkan root).
Gilles 'SO- stop being evil'