列出帐户未锁定的用户
List users whose accounts isn't locked
我创建了一个脚本,它列出了来自服务器的用户列表并通过电子邮件发送给他们。
我可以从多个主机获取用户列表,它还在发送列表之前过滤了一个名为 ignore.txt 的文件(其中包含不需要的用户)。
现在的挑战是,/etc/passwd
的用户帐户被锁定(未激活)。是否可以编辑下面的脚本并发送活跃用户列表以及帐户被锁定的用户列表?
新报告应反映活跃用户列表以及 disabled/locked 用户列表。
我当前的脚本如下:
#!/bin/ksh
#title :user.list.script.ksh
#description :This script collects list of users from the server
#note :Multiple hosts can be added
#HOSTS format:
HOSTS="00.00.00.00-DEV" #example "hostname-DEV"
FILE=/home/zaira/report.txt #list will be saved in report.txt
date > $FILE
echo >> $FILE
for host in $HOSTS; do
ip=$(echo $host|cut -d '-' -f 1)
title=$(echo $host|cut -d '-' -f 2)
ssh $ip -q -l zaira cat /etc/passwd | awk -F: '{printf("%-30s\t%-30s\t%-40s\n ", , , )}' >/tmp/temp 2>/dev/null
echo "$title instance" >> $FILE
perl -e 'print "=" x 65,"\n"' >>$FILE
#we filter through ignore.list to remove unwanted users
cat /tmp/temp|grep -wvf /home/zaira/ignore.list|sort >> $FILE
echo >> $FILE
done
rm -f /tmp/temp
mailx -r From-DEV-no-reply@abc.com -s " User list" zairabanu@abc.com < "$FILE"
凭记忆,自从我使用 AIX 以来已经很久了,您可以使用 lsuser
来锁定帐户:
lsuser -a account_locked ALL | grep '=true$' | awk '{ print }'
如果您不想手动维护忽略列表,您可以获取可以登录的用户列表:
lsuser -a login ALL | grep '=true$' | awk '{ print }'
关于 OP 原始脚本,您现在可能可以执行以下操作:
lsuser -a login ALL | grep '=true$' | awk '{ print }' > /tmp/temp
实际修改原始脚本由 OP 决定。
我创建了一个脚本,它列出了来自服务器的用户列表并通过电子邮件发送给他们。
我可以从多个主机获取用户列表,它还在发送列表之前过滤了一个名为 ignore.txt 的文件(其中包含不需要的用户)。
现在的挑战是,/etc/passwd
的用户帐户被锁定(未激活)。是否可以编辑下面的脚本并发送活跃用户列表以及帐户被锁定的用户列表?
新报告应反映活跃用户列表以及 disabled/locked 用户列表。
我当前的脚本如下:
#!/bin/ksh
#title :user.list.script.ksh
#description :This script collects list of users from the server
#note :Multiple hosts can be added
#HOSTS format:
HOSTS="00.00.00.00-DEV" #example "hostname-DEV"
FILE=/home/zaira/report.txt #list will be saved in report.txt
date > $FILE
echo >> $FILE
for host in $HOSTS; do
ip=$(echo $host|cut -d '-' -f 1)
title=$(echo $host|cut -d '-' -f 2)
ssh $ip -q -l zaira cat /etc/passwd | awk -F: '{printf("%-30s\t%-30s\t%-40s\n ", , , )}' >/tmp/temp 2>/dev/null
echo "$title instance" >> $FILE
perl -e 'print "=" x 65,"\n"' >>$FILE
#we filter through ignore.list to remove unwanted users
cat /tmp/temp|grep -wvf /home/zaira/ignore.list|sort >> $FILE
echo >> $FILE
done
rm -f /tmp/temp
mailx -r From-DEV-no-reply@abc.com -s " User list" zairabanu@abc.com < "$FILE"
凭记忆,自从我使用 AIX 以来已经很久了,您可以使用 lsuser
来锁定帐户:
lsuser -a account_locked ALL | grep '=true$' | awk '{ print }'
如果您不想手动维护忽略列表,您可以获取可以登录的用户列表:
lsuser -a login ALL | grep '=true$' | awk '{ print }'
关于 OP 原始脚本,您现在可能可以执行以下操作:
lsuser -a login ALL | grep '=true$' | awk '{ print }' > /tmp/temp
实际修改原始脚本由 OP 决定。