跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教一个查看用户密码过期时间的 shell 脚本
未分類
29 8 月 2020

请教一个查看用户密码过期时间的 shell 脚本

请教一个查看用户密码过期时间的 shell 脚本

資深大佬 : king1688888888 4

想通过一个简单的 shell 脚本,友好地显示查看密码修改时间、用户密码过期时间等,输出效果如下:

#root
密码修改时间:xxx
密码过期时间:xxx

#nginx
密码修改时间:xxx
密码过期时间:xxx

我的思路是先把具有登陆权限的用户过滤出来,再对每个用户使用 chage -l 过滤出密码修改时间、用户密码过期时间,下面的代码只是把每个用户的密码过期时间直接打印出来,请大佬们帮帮忙,实现友好显示相关内容。

#!/bin/bash
export LANG=”en_US.UTF-8″
USER=$(grep “/bin/bash” /etc/passwd | awk -F “:” ‘{print $1}’)

for TIME in $USER
do
chage -l $TIME | grep -w “Password expires” | awk -F “:” ‘{print $2}’ | sed ‘s/^[ t]*//;s/[ t]*$//’
done

大佬有話說 (7)

  • 資深大佬 : zunxiongchen

    试下这个吧

    #!/bin/bash
    export LANG=”en_US.UTF-8″
    USER=$(grep “/bin/bash” /etc/passwd | awk -F “:” ‘{print $1}’)

    echo “Username:PasswordExpires:LastPasswordChangeDate”
    for TIME in $USER
    do
    echo -e “$TIME:c”
    PX=`chage -l $TIME | grep -w “Password expires” | awk -F “:” ‘{print $2}’ | sed ‘s/^[ t]*//;s/[ t]*$//’`
    echo -e “$PX:c”
    chage -l $TIME | grep -w “Last password change” | awk -F “:” ‘{print $2}’ | sed ‘s/^[ t]*//;s/[ t]*$//’
    done

  • 主 資深大佬 : king1688888888

    @zunxiongchen 感谢分享,我参考着改一下。

  • 資深大佬 : zunxiongchen

    @king1688888888
    你要做出你的效果

    #root
    密码修改时间:xxx
    密码过期时间:xxx

    #nginx
    密码修改时间:xxx
    密码过期时间:xxx

    也可以很容易改了。改改 echo 就好了

  • 資深大佬 : sjhspp

    看到了长大的自己

  • 資深大佬 : UnknownR

    每次到这个时候就会怀念 powershell 这种 oop 脚本的方便性

  • 資深大佬 : hasdream

    import spwd
    root_shadow = spwd.getspnam(“root”)
    print root_shadow.sp_expire #过期时间
    print root_shadow.sp_lstchg #上次修改密码时间

  • 資深大佬 : jeson1010

    @sjhspp 哈哈

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具