From 7d8b259a2f6435ad396f2a398f5a7fd2be122a54 Mon Sep 17 00:00:00 2001 From: randomuser Date: Tue, 20 Jul 2021 03:18:48 -0500 Subject: [PATCH] add a perimitive nobody switch user call --- esgd.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/esgd.py b/esgd.py index e18625b..1391af5 100644 --- a/esgd.py +++ b/esgd.py @@ -2,6 +2,8 @@ import socketserver import subprocess import os import time +import pwd +import grp class GopherError(BaseException): pass class RequestError(GopherError): pass @@ -185,8 +187,12 @@ class GopherHandler(socketserver.BaseRequestHandler, GopherServerLogic): log = Logger() host = "localhost" -port = 77 +port = 70 if __name__ == "__main__": + switchgrp = grp.getgrnam("nobody").gr_gid + switchusr = pwd.getpwnam("nobody").pw_uid with socketserver.TCPServer((host, port), GopherHandler) as server: + os.setgid(switchgrp) + os.seteuid(switchusr) server.serve_forever()