COLT_CMDB_linux_userInfo_20250508.sh修复历史脚本输出指标信息中userName与输出信息不一致问题

bash 复制代码
#!/bin/bash
#IT_BEGIN
#IT_TYPE=3
#IT SYSTEM_LINUX_AGENTUSERDISCOVER|discovery.user[disc]
#原型指标
#IT_RULE SYSTEM_LINUX_AGENTUSERGROUPID|groupId[{#USERNAME}]
#IT_RULE SYSTEM_LINUX_AGENTUSERHOME|userHome[{#USERNAME}]
#IT_RULE SYSTEM_LINUX_AGENTUSERNAME|userName[{#USERNAME}]
#IT_RULE SYSTEM_LINUX_AGENTUSERID|userId[{#USERNAME}]
#IT_RULE SYSTEM_LINUX_AGENTUSERIP|ipAddress[{#USERNAME}]
#IT_RULE SYSTEM_LINUX_AGENTUSERPATH|shell[{#USERNAME}]
#IT_END
if [ "$1" == "disc" ];then
    users=(`compgen -u| tr '\n' ' '`)
    for user in ${users[@]}
       do
           echo "{#USERNAME}="$user
      done
      exit 0
fi

#原型指标采集
shname=`basename $0`
ATTR="_X(g=$shname,p=CMDB,t=script,f=0)"
ip=`ifconfig -a | grep inet |grep -v 127.0.0.1 |grep -v inet6 |awk '{print $2}' |cut -d ':' -f 2 | tr "\n" "," |sed 's/.$//g'`
#USERNAME=$1
#多指标输出开始
echo COL_DETAIL_START:
cat  /etc/passwd | while read line
do
        USERNAME=`echo $line | cut -d':' -f 1`
        userName=`echo $line | cut -d':' -f 1`
        userId=`echo $line | cut -d':' -f 3`
        groupId=`echo $line | cut -d':' -f 4`
        userHome=`echo $line | cut -d':' -f 6`
        shell=`echo $line | cut -d':' -f 7`
        
        echo "ipAddress[$ATTR,$USERNAME]|+|$ip"
        echo "userName[$ATTR,$USERNAME]|+|$userName"
        echo "userId[$ATTR,$USERNAME]|+|$userId"
        echo "groupId[$ATTR,$USERNAME]|+|$groupId"
        echo "userHome[$ATTR,$USERNAME]|+|$userHome"
        echo "shell[$ATTR,$USERNAME]|+|$shell"
done
#多指标输出结束
echo COL_DETAIL_END:

10.14.1.69服务器执行脚本如下:

bash 复制代码
[root@localhost ~]# sh COLT_CMDB_linux_userInfo_20250508.sh 
COL_DETAIL_START:
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|root
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|0
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|0
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|/root
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),root]|+|/bin/bash
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|bin
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|1
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|1
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|/bin
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),bin]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|daemon
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|2
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|2
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|/sbin
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),daemon]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|adm
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|3
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|4
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|/var/adm
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),adm]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|lp
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|4
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|7
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|/var/spool/lpd
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),lp]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|sync
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|5
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|0
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|/sbin
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sync]|+|/bin/sync
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|shutdown
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|6
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|0
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|/sbin
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),shutdown]|+|/sbin/shutdown
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|halt
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|7
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|0
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|/sbin
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),halt]|+|/sbin/halt
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|mail
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|8
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|12
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|/var/spool/mail
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),mail]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|operator
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|11
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|0
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|/root
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),operator]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|games
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|12
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|100
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|/usr/games
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),games]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|ftp
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|14
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|50
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|/var/ftp
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),ftp]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|nobody
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|99
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|99
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|/
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),nobody]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|systemd-network
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|192
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|192
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|/
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),systemd-network]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|dbus
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|81
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|81
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|/
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),dbus]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|polkitd
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|999
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|998
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|/
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),polkitd]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|sshd
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|74
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|74
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|/var/empty/sshd
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),sshd]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|postfix
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|89
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|89
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|/var/spool/postfix
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),postfix]|+|/sbin/nologin
ipAddress[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|10.14.1.69
userName[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|chrony
userId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|998
groupId[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|996
userHome[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|/var/lib/chrony
shell[_X(g=COLT_CMDB_linux_userInfo_20250508.sh,p=CMDB,t=script,f=0),chrony]|+|/sbin/nologin
COL_DETAIL_END:
相关推荐
爱喝水的鱼丶1 小时前
SAP-ABAP:S/4 HANA ABAP 新特性入门:与 ECC ABAP 的核心差异、架构优势与学习路径规划
运维·数据库·性能优化·sap·abap·hana·开发交流
鬼手点金7 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
贵州诚鑫致达科技有限公司8 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
遇印记9 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新9 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客9 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
北京中科新远科技10 小时前
高速光模块上线验收实战:DOM、FEC、BER与端口计数器怎么一起看
服务器·网络·php
澜山奕秋11 小时前
RHCSA
linux·运维·服务器
pride.li11 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉