Advertisement
sorahx0

Untitled

May 29th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.87 KB | None | 0 0
  1. #!/bin/bash
  2. datenow=$(date +%s)
  3. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%45s%-10s%-5s\n' "Removedor de contas expiradas" ""
  4. printf '%-20s%-25s%-20s\n' "Usuário" "Data de expiração" "Estado/Ação" ; echo "" ; tput sgr0
  5. for user in $(awk -F: '{print $1}' /etc/passwd); do
  6.     expdate=$(chage -l $user|awk -F: '/Account expires/{print $2}')
  7.     echo $expdate|grep -q never && continue
  8.     datanormal=$(date -d"$expdate" '+%d/%m/%Y')
  9.     tput setaf 3 ; tput bold ; printf '%-20s%-21s%s' $user $datanormal ; tput sgr0
  10.     expsec=$(date +%s --date="$expdate")
  11.     diff=$(echo $datenow - $expsec|bc -l)
  12.     tput setaf 2 ; tput bold
  13.     echo $diff|grep -q ^\- && echo "Ativo (Não removido)" && continue
  14.     tput setaf 1 ; tput bold
  15.     echo "Expirado (Removido)"
  16.     pkill -f $user
  17.     userdel $user
  18.     grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
  19. done
  20. tput sgr0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement