-
Notifications
You must be signed in to change notification settings - Fork 0
/
functions.py
138 lines (119 loc) · 3.5 KB
/
functions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import os
import subprocess
import os.path
from os import path
import re
def String_In_File(path, string):
try:
with open(path, 'r') as handle:
for line in handle:
if string in line:
return True
except: return False
def String_Not_In_File(path, string):
try:
with open(path, 'r') as handle:
for line in handle:
if string in line:
return False
except: return True
def Package_Installed(package):
try:
handle = subprocess.getoutput("dpkg --get-selections | awk '{print $1}'")
if package in handle:
return True
except: return False
def Package_Not_Installed(package):
try:
handle = subprocess.getoutput("dpkg --get-selections | awk '{print $1}'")
if package in handle:
return False
except: return True
def Firewall_Up():
try:
handle = subprocess.getoutput("sudo ufw status | grep 'Status: active'")
if handle == 'Status: active':
return True
else:
return False
except: return False
def File_Exists(path):
try:
if os.path.exists(path):
return True
except: return False
def File_Not_Exists(path):
try:
if os.path.exists(path):
return False
except: return True
def Directory_Exists(path):
try:
if os.path.exists(path):
return True
except: return False
def Directory_Not_Exists(path):
try:
if os.path.exists(path):
return False
except: return True
def User_Exists(username):
try:
handle = subprocess.getoutput("cut -d: -f1 /etc/passwd")
if username in handle:
return True
except: return False
def User_Not_Exists(username):
try:
handle = subprocess.getoutput("cut -d: -f1 /etc/passwd")
if username in handle:
return False
except: return True
def Group_Exists(group):
try:
handle = subprocess.getoutput("cut -d: -f1 /etc/group")
if group in handle:
return True
except: return False
def Group_Not_Exists(group):
try:
handle = subprocess.getoutput("cut -d: -f1 /etc/group")
if group in handle:
return False
except: return True
def User_In_A_Group(username, group):
try:
handle = subprocess.getoutput("groups '" + username + "' | grep '" + group + "'")
if username in handle:
return True
except: return False
def User_Not_In_A_Group(username, group):
try:
handle = subprocess.getoutput("groups '" + username + "' | grep '" + group + "'")
if username in handle:
return False
except: return True
def Service_Is_Up(service):
try:
handle = subprocess.getoutput("systemctl is-active '" + service + "'")
if handle == 'active':
return True
except: return False
def Service_Is_Not_Up(service):
try:
handle = subprocess.getoutput("systemctl is-active '" + service + "'")
if handle == 'inactive':
return True
except: return False
def File_Permissions_Is(path, value):
try:
handle = subprocess.getoutput("stat -c '%a' " + path)
if int(value) == int(handle):
return True
except: return False
def File_Permissions_Is_Not(path, value):
try:
handle = subprocess.getoutput("stat -c '%a' " + path)
if int(value) == int(handle):
return False
except: return True