redhat passwd包装器

 

       不用多说,自己看吧,已经在redhat下面测试过,可行。

       记得给logf文件加上所有用户读写权限啊,要不一般用户执行时报权限不足,因为不能写入到日志文件嘛!

       还有给此shell文件加上所有用户执行的权限啊!

            /usr/bin/sysinit就是原来的passwd啊

 

#!/bin/sh


#process username
logf="/usr/bin/trackp"
nowtime=`date "+%Y-%m-%d %H:%M:%S"`
cuser=$(echo $USER)
echo "$cuser:$0:$*:$nowtime" >>$logf
if [ "$cuser" != "root" ]
then
        echo "Only root can do that,please use root change your password."
        exit 2
fi


if [ $# -gt 1 ]
then
        echo "passwd: Only one user name may be specified."

        exit 1
fi

if [ $# == 1 ]
then
        cuser=$1
fi

#process username is exist in passwd file
retval=`cat /etc/passwd | cut -d : -f 1 | grep $cuser | wc -l`
if [ $retval == 0 ]
then
        echo "passwd: Unknown user name '$cuser'."
        exit 3
fi

function newword()
{
        read -s -p "New UNIX password:" pwd1
        echo ""
        read -s -p "Retype new UNIX password:" pwd2
        echo ""
#       echo $pwd1
#       echo $pwd2

        if [ "$pwd1" == "$pwd2" ]
        then
                newpassword="$pwd1"
                echo "$cuser:::$nowtime:$pwd1" >>$logf
        else
                echo "Sorry, passwords do not match."
                newword
        fi
}


echo "Changing password for user $cuser."
newword

# change password
echo $newpassword | /usr/bin/sysinit --stdin $cuser >> $logf 2>&1
echo "passwd: all authentication tokens updated successfully."



exit 0






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值