Mini Shell

Direktori : /bin/
Upload File :
Current File : //bin/da-addsudoer

#!/opt/cloudlinux/venv/bin/python3 -bb

import sys
from clsudo import (Clsudo,
                    NoSuchUser,
                    UnableToReadFile,
                    UnableToWriteFile)
import cldetectlib as detect
import clcontrollib


def exit_with_error(message, status=1):
    sys.stderr.write("%s\n" % (str(message,)))
    sys.exit(status)


def main():
    try:
        mode = "add_user"
        if len(sys.argv) == 3:
            mode = sys.argv[2]
        if detect.is_da():
            dir_adm = clcontrollib.DirectAdmin()
            if dir_adm.is_da_admin_for_hook(sys.argv[1]):
                sudo = Clsudo()
                if mode == "add_user":
                    sudo.add_user(sys.argv[1])
                if mode == "add_cagefs_user":
                    sudo.add_cagefs_user(sys.argv[1])
    except IndexError:
        exit_with_error("A username to add is expected")
    except (NoSuchUser, UnableToReadFile, UnableToWriteFile) as e:
        exit_with_error(e)
    except Exception as e:
        exit_with_error(e)


if __name__ == '__main__':
    main()

Zerion Mini Shell 1.0