本帖最后由 18511338260 于 2016-5-28 20:32 编辑
我想判断用户rooooot如果不存在就不执行或者判断shadow里的rooooot字符串是否存在,存在才执行判断用户密码警告期限是否快过期,但是没有rooooo他用户下面代码还是执行而且报错,
代码中如果是root 是不报错的,请阿铭老师帮看下问题在哪,怎么改
#!/bin/bash
UserName=rooooot
if grep "^$UserName\>" /etc/shadow |cut -d: -f1 ; then
s=`date +%s`
today=$[ $s/86400 ]
uptime=`grep $UserName /etc/shadow |cut -d: -f3`
#usetime=$[ $today - $uptime ]
let usertime= $today-$uptime
passtime=`grep $UserName /etc/shadow |cut -d: -f5`
let surtime=$passtime-$usetime
wtime=`grep $UserName /etc/shadow |cut -d: -f6`
if [ $surtime -gt $wtime ] ; then
echo "ok"
else
echo "warning"
fi
else
echo "not user is $UserName"
exit 1
fi
我想判断用户rooooot如果不存在就不执行或者判断shadow里的rooooot字符串是否存在,存在才执行判断用户密码警告期限是否快过期,但是没有rooooo他用户下面代码还是执行而且报错,
代码中如果是root 是不报错的,请阿铭老师帮看下问题在哪,怎么改
#!/bin/bash
UserName=rooooot
if grep "^$UserName\>" /etc/shadow |cut -d: -f1 ; then
s=`date +%s`
today=$[ $s/86400 ]
uptime=`grep $UserName /etc/shadow |cut -d: -f3`
#usetime=$[ $today - $uptime ]
let usertime= $today-$uptime
passtime=`grep $UserName /etc/shadow |cut -d: -f5`
let surtime=$passtime-$usetime
wtime=`grep $UserName /etc/shadow |cut -d: -f6`
if [ $surtime -gt $wtime ] ; then
echo "ok"
else
echo "warning"
fi
else
echo "not user is $UserName"
exit 1
fi
0
#!/bin/bash
UserName=roooot
ChkUserName=`grep "^$UserName\>" /etc/shadow |cut -d: -f1`
#echo $ChkUserName
if [ -z "$ChkUserName" ] ; then
echo "not user $UserName"
exit 1
fi
s=`date +%s`
today=$[ $s/86400 ]
uptime=`grep $UserName /etc/shadow |cut -d: -f3`
usetime=$[ $today - $uptime ]
passtime=`grep $UserName /etc/shadow |cut -d: -f5`
let surtime=$passtime-$usetime
wtime=`grep $UserName /etc/shadow |cut -d: -f6`
if [ $surtime -gt $wtime ] ; then
echo "ok"
else
echo "warning"
fi
UserName=roooot
ChkUserName=`grep "^$UserName\>" /etc/shadow |cut -d: -f1`
#echo $ChkUserName
if [ -z "$ChkUserName" ] ; then
echo "not user $UserName"
exit 1
fi
s=`date +%s`
today=$[ $s/86400 ]
uptime=`grep $UserName /etc/shadow |cut -d: -f3`
usetime=$[ $today - $uptime ]
passtime=`grep $UserName /etc/shadow |cut -d: -f5`
let surtime=$passtime-$usetime
wtime=`grep $UserName /etc/shadow |cut -d: -f6`
if [ $surtime -gt $wtime ] ; then
echo "ok"
else
echo "warning"
fi
编辑回复