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()