Script Untuk Melihat Daftar Semua Akun SSH Beserta Tanggal Expire-nya

Script Untuk Melihat Daftar Semua Akun SSH Beserta Tanggal Expire-nya

Hello para pendekar pengoprek Linux server dan teman2 yg baik hati semuanya..
Kita semua tentu sudah paham dan hapal luar kepala kalau dalam sistem Linux semua user itu akan dicatat dalam berkas /etc/passwd. So, jika ingin mengecek user2 siapa sajakah yg sudah kita buat di dalam server bisa dengan mudah menjalankan perintah ini di console:
cat /etc/passwd
Dan hasilnya bisa kita lihat disitu semua user yg ada di sistem server kita. Tapi daftar user disitu ternyata tidak hanya dihuni oleh “user manusia”, user2 penting yg merupakan bagian dalam sebuah sistem operasi Linux juga tertera disana. Ada banyak sekali dan masing2 punya peran dan fungsi utk menjaga agar OS Linux berjalan sebagaimana mestinya. User2 manusia yg anda create sebagai seorang admin akan tercatat pada baris2 paling bawah dari file /etc/passwd. Nah bagaimana caranya agar kita hanya bisa melihat user yg manusia saja? Tentu ini akan sangat berguna bagi anda yg jualan akun SSH ataupun OpenVPN, akan tambah bermanfaat pula jika sudah disertai dg data tanggal user tsb akan kadaluwarsa.
Salah satu trik sederhana untuk melihat daftar akun SSH dan tanggal berakhir masa aktifnya adalah dengan menggunakan sebuah mantra yg saya cantumkan dibawah ini. OK…. sebelumnya mari kita buat dahulu sebuah file kosong yg berlokasi di /usr/bin agar nanti bisa langsung dieksekusi layaknya menjalankan sebuah command line dalam mesin Linux. Buatlah file dg nama yg singkat dan mudah diingat, misalnya akun. (atau kata apapun pilihan anda sendiri)
vim /usr/bin/akun
Selanjutnya, isilah file akun tadi dengan mantra pendek dibawah ini. Silahkan copas saja:
#!/bin/bash
# Saya ga tau bash scripting
# Harap maklum hehehehe...
# Jangan lupa mampir www.ari-f.com
echo "-------------------------------"
echo "USERNAME          EXP DATE     "
echo "-------------------------------"
while read mumetndase
do
        AKUN="$(echo $mumetndase | cut -d: -f1)"
        ID="$(echo $mumetndase | grep -v nobody | cut -d: -f3)"
        exp="$(chage -l $AKUN | grep "Account expires" | awk -F": " '{print $2}')"
        if [[ $ID -ge 1000 ]]; then
        printf "%-17s %2s\n" "$AKUN" "$exp"
        fi
done < /etc/passwd
JUMLAH="$(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd | wc -l)"
echo "-------------------------------"
echo "Jumlah akun: $JUMLAH user"
echo "-------------------------------"
echo -e "\e[1;33;44m[ ari-f.com ]\e[0m"

Kalau sudah, seperti biasa langsung aja save dan close. Next, agar bisa langsung dijalankan seperti menjalankan sebuah command, ubahlah permissionnya menjadi executable dengan membaca:
chmod +/usr/bin/akun
Sekarang anda bisa melihat list para user yg ada di server beserta tanggal expire masing2 akun. Tinggal jalankan saja di console dengan mengetik:
akun
Tekan enter dan… Hasilnya langsung deh…. terlihat sebuah daftar berisi data username dan tanggal expirenya, tentu saja baru akan ada hasilnya jika memang di dalam server anda sudah ada akun yg dibuat sebelumnya, jika belum ada satu manusiapun (kecuali root) maka isinya akan kosong.. (silahkan promosi dulu dg giat agar jualan SSH-nya lebih laris dan banyak buyer hehehe). Contoh jika di server sudah ada banyak user akan tampak seperti ini:
lihat daftar user ssh
Wuahh banyak kan? 😛 Ada 29 user pada server SSH saya, kalo per akun harganya 30 rebu maka omsetnya adalah 870 000 rupiah.. padahal percaya boleh ga jg ga masalah, server tsb saya sewa dg harga ga lebih dari 50 000 perbulan. Malah OOT.. Hehe gimana? Mau ikut jualan? Coba klik disini segera.. (promosi dikit gpp lah 😀 ).
Jadi intinya sekarang kalo mau cek daftar akun SSH/VPN di server sudah bisa dilakukan dengan cara yg relatif mudah, ga perlu cat /etc/passwd dan pusing melihat user2 sistem dengan segala atributnya karena script ini sudah memfilter hanya user manusia saja yg nongol jadi outputnya. Utk lebih memastikan akurasinya silahkan cermati baik2 isi /etc/passwd di server anda, bisa jadi ada user system yg punya ID seperti user manusia (misal vsftpd dan vmail) dan oleh karenanya harus dimasukkan pada grep -v di script tsb.
Perhatian:
Hey, tunggu jangan asal copas meskipun diatas sudah saya bilang copas aja… bisa2 server anda mleduk loh 😀 eh ga ding… just kidding don’t worry, namun maksud saya silahkan diperhatikan dulu isi script tsb dan sesuaikan dg OS Linux yg anda pakai. Script ini saya jalankan pada VPS Debian, jadi kalo anda menggunakan CentOS maka script tsb perlu sedikit perubahan.. Cocokin dulu dg file/etc/passwd. Angka “1000” yg ada di script tsb merupakan UID user manusia, di CentOS  angkanya “500”, maka hal ini perlu disesuaikan dg benar.
Tentu saja script tsb masih sangat basic (atau mungkin dimata seorang programer tampak kacau hahaha) dan outputnya mungkin masih kurang cantik sudah lebih enak dilihat mata karena scriptnya sudah saya update meskipun saya ga paham mengenai shell/bash programming hehehehe, nah silahkan saja teman2 utk memodifikasinya demi kebaikan segenap umat manusia.
UPDATE:
Script yg lama telah saya hapus dan yg ada diatas adalah versi baru dengan hasil yg lebih sedap dipandang. Saya mengubah echo -n dengan printf dan sedikit modifikasi script berdasarkan wangsit yg saya terima. Hasil output yg ditampilkan menjadi lebih rapi dengan kolom yg sudah aligned.
Script AUTO-CREATE akun trial SSH? Silahkan meluncur kemari!
Beli paket script premium untuk bisnis SSH/VPN? Klik disini.
Keywords pencarian:
  • cara cek akun ssh
  • akun ssh no expired
  • cara cek akun ssh yang online
  • cara cek masa aktif akun ssh

1 komentar:

Unknown mengatakan...

bang ada nomor wa ga

Posting Komentar