Untuk tujuan kepatuhan ada kebutuhan untuk mengambil informasi mengenai tanggal pembuatan akun lokal (pengguna dan non-pengguna) pada mesin UNIX.
Apakah ada cara (bahkan jika itu bukan metode yang paling dapat diandalkan atau akurat) untuk mengumpulkan informasi semacam itu?
Sebagai contoh, sebagai alternatif, saya pergi mencari home
tanggal pembuatan direktori (untuk akun pengguna), tetapi saya menemukan bahwa untuk cap sistem sistem POSIX-compliant untuk pembuatan file tidak tersedia.
/var/log/auth.log
(Anda mungkin perlu melihat di log diputar juga:/var/log/auth.log.1
,/var/log/auth.log.2.gz
, ...). Ini akan memberi Anda petunjuk tentang tanggal pertama akun pengguna diautentikasi. Ini tidak akan bekerja untuk pengguna sistem, dan juga akan gagal jika akun dibuat lebih lama darisyslog
periode rotasi log Anda./home/user
Jawaban:
Jika dibuat dan tidak disentuh sejak pembuatan pengguna Anda dapat menggunakan
.bash_logout
file untuk menentukan tanggal. Sebagai root run:ATAU, Jika pengguna memiliki direktori home, Anda dapat memeriksa tanggal modifikasi terakhir direktori itu:
hanya untuk mendapatkan tanggal yang dapat Anda gunakan
awk
:sumber
sumber
ls -ld /home/username/
memberikan waktu modifikasi direktori home, yang sepertinya tidak akan berguna mengingat waktu ini diperbarui setiap kali file ditambahkan atau dihapus di directoy rumah.Pembuatan akun dapat dicatat. Di Linux (jika menggunakan common shadow utility suite),
useradd
buat entri log di bawah fasilitasauth.info
. Log ini biasanya terletak di/var/log/secure
atau/var/log/auth.log
(tergantung pada distribusi).Anda dapat memeriksa cadangan Anda
/etc/passwd
dan melihat mana cadangan termuda yang tidak memiliki akun ini. Saya menggunakan dan merekomendasikan penjaga etc untuk melacak perubahan/etc
, jadigit annotate /etc/passwd
akan memberi saya jawabannya. (Sebenarnyagit annotate
akan memberi tahu saya kapan terakhir kali entri pengguna diubah; sedikit lagi penggalian yang otomasinya di luar cakupan jawaban ini akan memberi tahu saya ketika entri ditambahkan.)Jika Anda tidak memiliki log audit, cadangan, dan riwayat revisi, Anda harus menggunakan heuristik. Petunjuk yang baik adalah file yang waktu perubahan inode (ctime) adalah yang tertua. Heuristik ini bisa terletak pada dua cara: jika suatu direktori dipindahkan ke rumah pengguna, mungkin berisi file-file dengan waktu lama (tetapi bagi mereka untuk menjadi lebih tua dari pengguna, cairan mereka tidak harus menjadi milik pengguna sebagai perubahan). tentang uid melibatkan memperbarui waktu, sehingga Anda dapat melewati file-file yang tidak dimiliki oleh pengguna); sebaliknya, beberapa peristiwa dapat mengubah waktu file (mis. jika seluruh sistem dipulihkan dari cadangan). Anda dapat mulai dari direktori home pengguna (
ls -Alctr ~bob
| sed -n 2p), yang mungkin berisi file/etc/skel
yang tidak pernah dimodifikasi oleh pengguna (.bash_logout
adalah yang umum), dan lihat apakah ada file yang lebih lamafind ~bob ! -cnewer ~bob/.bash_logout -user bob
. Dengan zsh, jalankanls -ld ~bob/**/*(Doc[1]u:bob:)
.sumber
Cek tanggal perubahan kata sandi.
sumber
Untuk pengguna lokal, Anda dapat melihat waktu kelahiran direktori home mereka untuk sistem dan sistem file yang merekamnya (Linux, sebagian besar BSD, setidaknya MacOS). Cara melakukannya bervariasi dengan sistem .
Untuk pengguna di direktori LDAP, Anda dapat melihat
createTimestamp
(atau mungkinwhenCreated
) atribut dari entri LDAP yang sesuai:sumber