Skip to content

Commit bbd589f

Browse files
committed
chore: run scripts through an auto-formatter
Used black for python script, shfmt for shell. Default configurations were used for both.
1 parent e53bd62 commit bbd589f

File tree

3 files changed

+188
-192
lines changed

3 files changed

+188
-192
lines changed

ansible/files/permission_check.py

Lines changed: 125 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -8,152 +8,102 @@
88
expected_results = {
99
"postgres": [
1010
{"groupname": "postgres", "username": "postgres"},
11-
{"groupname": "ssl-cert", "username": "postgres"}
11+
{"groupname": "ssl-cert", "username": "postgres"},
1212
],
1313
"ubuntu": [
14-
{'groupname': 'adm', 'username': 'ubuntu'},
15-
{'groupname': 'audio', 'username': 'ubuntu'},
16-
{'groupname': 'cdrom', 'username': 'ubuntu'},
17-
{'groupname': 'dialout', 'username': 'ubuntu'},
18-
{'groupname': 'dip', 'username': 'ubuntu'},
19-
{'groupname': 'floppy', 'username': 'ubuntu'},
20-
{'groupname': 'lxd', 'username': 'ubuntu'},
21-
{'groupname': 'netdev', 'username': 'ubuntu'},
22-
{'groupname': 'plugdev', 'username': 'ubuntu'},
23-
{'groupname': 'sudo', 'username': 'ubuntu'},
24-
{'groupname': 'ubuntu', 'username': 'ubuntu'},
25-
{'groupname': 'video', 'username': 'ubuntu'}
26-
],
27-
"root": [
28-
{"groupname":"root","username":"root"}
29-
],
30-
"daemon": [
31-
{"groupname":"daemon","username":"daemon"}
32-
],
33-
"bin": [
34-
{"groupname":"bin","username":"bin"}
35-
],
36-
"sys": [
37-
{"groupname":"sys","username":"sys"}
38-
],
39-
"sync": [
40-
{"groupname":"nogroup","username":"sync"}
41-
],
42-
"games": [
43-
{"groupname":"games","username":"games"}
44-
],
45-
"man": [
46-
{"groupname":"man","username":"man"}
47-
],
48-
"lp": [
49-
{"groupname":"lp","username":"lp"}
50-
],
51-
"mail": [
52-
{"groupname":"mail","username":"mail"}
53-
],
54-
"news": [
55-
{"groupname":"news","username":"news"}
56-
],
57-
"uucp": [
58-
{"groupname":"uucp","username":"uucp"}
59-
],
60-
"proxy": [
61-
{"groupname":"proxy","username":"proxy"}
62-
],
63-
"www-data": [
64-
{"groupname":"www-data","username":"www-data"}
65-
],
66-
"backup": [
67-
{"groupname":"backup","username":"backup"}
68-
],
69-
"list": [
70-
{"groupname":"list","username":"list"}
71-
],
72-
"irc": [
73-
{"groupname":"irc","username":"irc"}
74-
],
75-
"gnats": [
76-
{"groupname":"gnats","username":"gnats"}
77-
],
78-
"nobody": [
79-
{"groupname":"nogroup","username":"nobody"}
80-
],
14+
{"groupname": "adm", "username": "ubuntu"},
15+
{"groupname": "audio", "username": "ubuntu"},
16+
{"groupname": "cdrom", "username": "ubuntu"},
17+
{"groupname": "dialout", "username": "ubuntu"},
18+
{"groupname": "dip", "username": "ubuntu"},
19+
{"groupname": "floppy", "username": "ubuntu"},
20+
{"groupname": "lxd", "username": "ubuntu"},
21+
{"groupname": "netdev", "username": "ubuntu"},
22+
{"groupname": "plugdev", "username": "ubuntu"},
23+
{"groupname": "sudo", "username": "ubuntu"},
24+
{"groupname": "ubuntu", "username": "ubuntu"},
25+
{"groupname": "video", "username": "ubuntu"},
26+
],
27+
"root": [{"groupname": "root", "username": "root"}],
28+
"daemon": [{"groupname": "daemon", "username": "daemon"}],
29+
"bin": [{"groupname": "bin", "username": "bin"}],
30+
"sys": [{"groupname": "sys", "username": "sys"}],
31+
"sync": [{"groupname": "nogroup", "username": "sync"}],
32+
"games": [{"groupname": "games", "username": "games"}],
33+
"man": [{"groupname": "man", "username": "man"}],
34+
"lp": [{"groupname": "lp", "username": "lp"}],
35+
"mail": [{"groupname": "mail", "username": "mail"}],
36+
"news": [{"groupname": "news", "username": "news"}],
37+
"uucp": [{"groupname": "uucp", "username": "uucp"}],
38+
"proxy": [{"groupname": "proxy", "username": "proxy"}],
39+
"www-data": [{"groupname": "www-data", "username": "www-data"}],
40+
"backup": [{"groupname": "backup", "username": "backup"}],
41+
"list": [{"groupname": "list", "username": "list"}],
42+
"irc": [{"groupname": "irc", "username": "irc"}],
43+
"gnats": [{"groupname": "gnats", "username": "gnats"}],
44+
"nobody": [{"groupname": "nogroup", "username": "nobody"}],
8145
"systemd-network": [
82-
{"groupname":"systemd-network","username":"systemd-network"}
46+
{"groupname": "systemd-network", "username": "systemd-network"}
8347
],
8448
"systemd-resolve": [
85-
{"groupname":"systemd-resolve","username":"systemd-resolve"}
49+
{"groupname": "systemd-resolve", "username": "systemd-resolve"}
8650
],
8751
"systemd-timesync": [
88-
{"groupname":"systemd-timesync","username":"systemd-timesync"}
89-
],
90-
"messagebus": [
91-
{"groupname":"messagebus","username":"messagebus"}
52+
{"groupname": "systemd-timesync", "username": "systemd-timesync"}
9253
],
54+
"messagebus": [{"groupname": "messagebus", "username": "messagebus"}],
9355
"ec2-instance-connect": [
9456
{"groupname": "nogroup", "username": "ec2-instance-connect"}
9557
],
96-
"sshd": [
97-
{"groupname":"nogroup","username":"sshd"}
98-
],
58+
"sshd": [{"groupname": "nogroup", "username": "sshd"}],
9959
"wal-g": [
100-
{"groupname":"postgres","username":"wal-g"},
101-
{"groupname":"wal-g","username":"wal-g"}
60+
{"groupname": "postgres", "username": "wal-g"},
61+
{"groupname": "wal-g", "username": "wal-g"},
10262
],
10363
"pgbouncer": [
104-
{"groupname":"pgbouncer","username":"pgbouncer"},
105-
{"groupname":"postgres","username":"pgbouncer"},
106-
{"groupname":"ssl-cert","username":"pgbouncer"}
107-
],
108-
"gotrue": [
109-
{"groupname":"gotrue","username":"gotrue"}
110-
],
111-
"envoy": [
112-
{"groupname":"envoy","username":"envoy"}
113-
],
114-
"kong": [
115-
{"groupname":"kong","username":"kong"}
116-
],
117-
"nginx": [
118-
{"groupname":"nginx","username":"nginx"}
119-
],
64+
{"groupname": "pgbouncer", "username": "pgbouncer"},
65+
{"groupname": "postgres", "username": "pgbouncer"},
66+
{"groupname": "ssl-cert", "username": "pgbouncer"},
67+
],
68+
"gotrue": [{"groupname": "gotrue", "username": "gotrue"}],
69+
"envoy": [{"groupname": "envoy", "username": "envoy"}],
70+
"kong": [{"groupname": "kong", "username": "kong"}],
71+
"nginx": [{"groupname": "nginx", "username": "nginx"}],
12072
"vector": [
121-
{"groupname":"adm","username":"vector"},
122-
{"groupname":"postgres","username":"vector"},
123-
{"groupname":"systemd-journal","username":"vector"},
124-
{"groupname":"vector","username":"vector"}
73+
{"groupname": "adm", "username": "vector"},
74+
{"groupname": "postgres", "username": "vector"},
75+
{"groupname": "systemd-journal", "username": "vector"},
76+
{"groupname": "vector", "username": "vector"},
12577
],
12678
"adminapi": [
127-
{"groupname":"admin","username":"adminapi"},
128-
{"groupname":"adminapi","username":"adminapi"},
129-
{"groupname":"envoy","username":"adminapi"},
130-
{"groupname":"kong","username":"adminapi"},
131-
{"groupname":"pgbouncer","username":"adminapi"},
132-
{"groupname":"postgres","username":"adminapi"},
133-
{"groupname":"postgrest","username":"adminapi"},
134-
{"groupname":"root","username":"adminapi"},
135-
{"groupname":"systemd-journal","username":"adminapi"},
136-
{"groupname":"vector","username":"adminapi"},
137-
{"groupname":"wal-g","username":"adminapi"}
138-
],
139-
"postgrest": [
140-
{"groupname":"postgrest","username":"postgrest"}
141-
],
142-
"tcpdump": [
143-
{"groupname":"tcpdump","username":"tcpdump"}
144-
],
79+
{"groupname": "admin", "username": "adminapi"},
80+
{"groupname": "adminapi", "username": "adminapi"},
81+
{"groupname": "envoy", "username": "adminapi"},
82+
{"groupname": "kong", "username": "adminapi"},
83+
{"groupname": "pgbouncer", "username": "adminapi"},
84+
{"groupname": "postgres", "username": "adminapi"},
85+
{"groupname": "postgrest", "username": "adminapi"},
86+
{"groupname": "root", "username": "adminapi"},
87+
{"groupname": "systemd-journal", "username": "adminapi"},
88+
{"groupname": "vector", "username": "adminapi"},
89+
{"groupname": "wal-g", "username": "adminapi"},
90+
],
91+
"postgrest": [{"groupname": "postgrest", "username": "postgrest"}],
92+
"tcpdump": [{"groupname": "tcpdump", "username": "tcpdump"}],
14593
"systemd-coredump": [
146-
{"groupname":"systemd-coredump","username":"systemd-coredump"}
147-
]
94+
{"groupname": "systemd-coredump", "username": "systemd-coredump"}
95+
],
14896
}
14997

15098

15199
# This program depends on osquery being installed on the system
152100
# Function to run osquery
153101
def run_osquery(query):
154-
process = subprocess.Popen(['osqueryi', '--json', query], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
102+
process = subprocess.Popen(
103+
["osqueryi", "--json", query], stdout=subprocess.PIPE, stderr=subprocess.PIPE
104+
)
155105
output, error = process.communicate()
156-
return output.decode('utf-8')
106+
return output.decode("utf-8")
157107

158108

159109
def parse_json(json_str):
@@ -173,7 +123,9 @@ def compare_results(username, query_result):
173123
if query_result == expected_result:
174124
print(f"The query result for user '{username}' matches the expected result.")
175125
else:
176-
print(f"The query result for user '{username}' does not match the expected result.")
126+
print(
127+
f"The query result for user '{username}' does not match the expected result."
128+
)
177129
print("Expected:", expected_result)
178130
print("Got:", query_result)
179131
sys.exit(1)
@@ -191,23 +143,68 @@ def check_nixbld_users():
191143
parsed_result = parse_json(query_result)
192144

193145
for user in parsed_result:
194-
if user['groupname'] != 'nixbld':
195-
print(f"User '{user['username']}' is in group '{user['groupname']}' instead of 'nixbld'.")
146+
if user["groupname"] != "nixbld":
147+
print(
148+
f"User '{user['username']}' is in group '{user['groupname']}' instead of 'nixbld'."
149+
)
196150
sys.exit(1)
197151

198152
print("All nixbld users are in the 'nixbld' group.")
199153

200154

201155
def main():
202156
parser = argparse.ArgumentParser(
203-
prog='Supabase Postgres Artifact Permissions Checker',
204-
description='Checks the Postgres Artifact for the appropriate users and group memberships')
205-
parser.add_argument('-q', '--qemu', action='store_true', help='Whether we are checking a QEMU artifact')
157+
prog="Supabase Postgres Artifact Permissions Checker",
158+
description="Checks the Postgres Artifact for the appropriate users and group memberships",
159+
)
160+
parser.add_argument(
161+
"-q",
162+
"--qemu",
163+
action="store_true",
164+
help="Whether we are checking a QEMU artifact",
165+
)
206166
args = parser.parse_args()
207167
qemu_artifact = args.qemu or False
208168

209169
# Define usernames for which you want to compare results
210-
usernames = ["postgres", "ubuntu", "root", "daemon", "bin", "sys", "sync", "games","man","lp","mail","news","uucp","proxy","www-data","backup","list","irc","gnats","nobody","systemd-network","systemd-resolve","systemd-timesync","messagebus","sshd","wal-g","pgbouncer","gotrue","envoy","kong","nginx","vector","adminapi","postgrest","tcpdump","systemd-coredump"]
170+
usernames = [
171+
"postgres",
172+
"ubuntu",
173+
"root",
174+
"daemon",
175+
"bin",
176+
"sys",
177+
"sync",
178+
"games",
179+
"man",
180+
"lp",
181+
"mail",
182+
"news",
183+
"uucp",
184+
"proxy",
185+
"www-data",
186+
"backup",
187+
"list",
188+
"irc",
189+
"gnats",
190+
"nobody",
191+
"systemd-network",
192+
"systemd-resolve",
193+
"systemd-timesync",
194+
"messagebus",
195+
"sshd",
196+
"wal-g",
197+
"pgbouncer",
198+
"gotrue",
199+
"envoy",
200+
"kong",
201+
"nginx",
202+
"vector",
203+
"adminapi",
204+
"postgrest",
205+
"tcpdump",
206+
"systemd-coredump",
207+
]
211208
if not qemu_artifact:
212209
usernames.append("ec2-instance-connect")
213210

0 commit comments

Comments
 (0)