#coding: utf-8 import pwd import public,re class projectBase: def check_port(self, port): ''' @name 检查端口是否被占用 @args port:端口号 @return: 被占用返回True,否则返回False @author: lkq 2021-08-28 ''' a = public.ExecShell("netstat -nltp|awk '{print $4}'") if a[0]: if re.search(':' + port + '\n', a[0]): return True else: return False else: return False def is_domain(self, domain): ''' @name 验证域名合法性 @args domain:域名 @return: 合法返回True,否则返回False @author: lkq 2021-08-28 ''' import re domain_regex = re.compile(r'(?:[A-Z0-9_](?:[A-Z0-9-_]{0,247}[A-Z0-9])?\.)+(?:[A-Z]{2,6}|[A-Z0-9-]{2,}(?= 1000 的用户 和 root get中包含 sys_user 返回 uid>= 100 的用户 和 root get中包含 all_user 返回所有的用户 """ sys_user = False all_user = False if get is not None: if hasattr(get, "sys_user"): sys_user = True if hasattr(get, "all_user"): all_user = True user_set = set() try: for tmp_uer in pwd.getpwall(): if tmp_uer.pw_uid == 0: user_set.add(tmp_uer.pw_name) elif tmp_uer.pw_uid >= 1000: user_set.add(tmp_uer.pw_name) elif sys_user and tmp_uer.pw_uid >= 100: user_set.add(tmp_uer.pw_name) elif all_user: user_set.add(tmp_uer.pw_name) except Exception: pass return list(user_set)