Mengetahui Informasi User Expired di Linux dengan Script Shell

0
102

Sebuah perusahaan yang memiliki sebuah server dengan ratusan bahkan ribuan user pengguna mungkin akan sedikit kewalahan jika harus mengecek satu-per-satu user tersebut. Apalagi jika terdapat user yang Expired tanpa kita ketahui.

Baca jiga : Menghapus User yang Expired Otomatis di Linux dengan Script

Meskipun kita dapat mengeceknya secara manual, kita bisa memanfaatkan script agar dengan mudah mengumpulkan informasi mengenai user yang ada di linux apakah user tersebut sudah Expired atau belum.

Baca juga : Buat Banyak User dengan Script Sederhana di Linux

# Created by homey on 02-25-2005
# Rewrite by Arifta Adcha Fachrizal on 2016
# 
#!/bin/bash

rm -f userlists.txt
cat /etc/passwd |grep /home | awk -F: '{print$1}' |\
while read name ; do

uname=`cat /etc/shadow | grep $name | awk -F":" '{print}'`

a=`echo -e $uname | awk -F: '{print$3}'`
b=`echo -e $uname | awk -F: '{print$4}'`
c=`echo -e $uname | awk -F: '{print$5}'`
d=`echo -e $uname | awk -F: '{print$6}'`
e=`echo -e $uname | awk -F: '{print$7}'`
f=`echo -e $uname | awk -F: '{print$8}'`

now=$(( ($(date +%s) / 86400) ))
#pass=$(( $now - $a ))
#last=`date +%B" "%d" "%Y -d "-$pass day"`

if test "$f" != "" ; then
 next=$(( $f - $now ))
 exp=`date +%B" "%d" "%Y -d "$next day"`
else
 exp=`echo N/A`;

fi

echo >> userlists.txt
echo "Information for $name" >> userlists.txt
echo "Password last changed: $last" >> userlists.txt
echo "Minumum password age: $b" >> userlists.txt
echo "Maximum password age: $c" >> userlists.txt
echo "Password warning age: $d" >> userlists.txt
echo "The account will be disabled [ $e days ] after" >> userlists.txt
echo "the password expires if no login attempt is made: " >> userlists.txt
echo "The account will expire on: $exp" >> userlists.txt
echo >> userlists.txt

done

Buat file *.sh misalkan list-user.sh, kemudian berikan permission :

root@ubuntu:~# chmod +x list-user.sh

Jalankan dengan user root.

root@ubuntu:~# ./list-user.sh

Maka akan menghasilkan file userlists.txt. Jika kita buka maka akan berisi informasi mengenai user.

root@ubuntu:~# cat userlists.txt

Berikut outputnya :

Information for ubuntu
Password last changed:
Minumum password age: 0
Maximum password age: 99999
Password warning age: 7
The account will be disabled [ days ] after
the password expires if no login attempt is made:
The account will expire on: N/A

Information for test
Password last changed:
Minumum password age: 0
Maximum password age: 99999
Password warning age: 7
The account will be disabled [ days ] after
the password expires if no login attempt is made:
The account will expire on: April 16 2011

Sumber : BelajarSys