我是 root 用户,我正在设置一个菜单供其他用户使用。其他用户只会获得此菜单。
有两个相互关联的选项:第一个选项是搜索用户。我得到的代码是:
last | awk '{print $1,$4,$5,$6,$7} '
我已经检查了这段代码并且它有效,它向我显示了用户名和他们上次登录的日期。
对于第二个选项:我希望能够设置一个日期,然后使用上述命令的输出删除自该日期以来未处于活动状态的用户。
我正在使用 Linux Mint 和 Vim 文本编辑器。
答案1
你可以这样做:
root@host#lastlog -b Num_Days_Since_Last_Login | root@host#lastlog -b Num_Days_Since_Last_Login | egrep -v "^用户名|从未登录" | awk '{print $1}' | xargs -i userdel {}
其中 Num_Days_Since_Last_Login 是自上次登录以来的整数天数...
答案2
完整的解决方案:
#!/bin/bash
maxdate=$(date -d "$1" +%s) || exit 1
daysdate=$((($(date +%s)-maxdate)/(3600*24)))
LANG=C lastlog -b $daysdate -u 1000- |
awk 'NR>1{print $1}' |
xargs -n1 echo userdel
对其进行测试并移除echo
以进行 forReal™。用法示例:
./script.sh 'Fri Dec 5 17:00:06 CET 2013'