首页 > 代码库 > Python检查系统可疑用户

Python检查系统可疑用户

最近一台服务器被攻击了,攻击者在服务器上替换了一个系统命令,如ps,ss,netstat,lsof等文件。怎么排查的就不说了。本文的主要目的是写一个检查系统用户的一个脚本,检查哪些系统用户有家目录,哪些用户没有家目录,以及哪些用户可以登录系统。


我们这里的环境有点乱,有的服务器上的web用户可以登录系统,有的系统上却不能登录系统,很是不规范,因此写了这么一个脚本来做检查。接下来,就直接上代码了,主要用到了pwd及spwd模块,

# encoding: utf8
# written by lavenliu at 20170211

import pwd
import spwd

sys_users = {}
usr_no_passwd = []
usr_has_passd = []

users_entry = pwd.getpwall()
for entry in users_entry:
    sys_users[entry.pw_name] = entry.pw_shell

for username in sys_users.keys():
    pass_entry = spwd.getspnam(username)
    if pass_entry.sp_pwd == ‘!!‘ or pass_entry.sp_pwd == ‘*‘:
        usr_no_passwd.append(pass_entry.sp_nam)
    else:
        usr_has_passd.append(pass_entry.sp_nam)

print "These users have home directory:"
for user, home in sys_users.items():
    if home == ‘/sbin/nologin‘:
        continue
    else:
        print "%15s: %s" % (user, home)

print
print "These users can login system:"
for user in usr_has_passd:
    print user


执行结果为:

# python chkuser.py 
These users have home directory:
           sync: /bin/sync
       shutdown: /sbin/shutdown
           halt: /sbin/halt
           root: /bin/bash

These users can login system:
root


从执行结果看,目前只有root用户可以登录系统。

本文出自 “固态U盘” 博客,请务必保留此出处http://lavenliu.blog.51cto.com/5060944/1901043

Python检查系统可疑用户