jg!ddlmZddlmZddlmZddlZddlZddlmZddlm Z m Z ddl m Z m Z ddlmZdd lmZdd lmZd Zd Zd ZdZdZdZdZdZdZdZdS))print_function)division)absolute_importN) remount_proc)admins getCPName) SysCtlConfSYSCTL_CL_CONF_FILE)Feature)is_panel_feature_supported)Clsudoadmin clsupergid clsudoerscFtjdd||g}|dkrdSdS)zAdd user to given unix group/usr/bin/gpasswdz-arFT subprocesscall user_name group_nameretcodes I/opt/cloudlinux/venv/lib64/python3.11/site-packages/lvemanager/sudoers.py_add_user_to_grouprs.o14JOPPG!||u 4cFtjdd||g}|dkrdSdS)Nrz-drFTrrs r_remove_user_from_groupr(s.o14JOPPG!||u 4rctt}||vr|||D]}t||dS)z Add all present DA admins (plus new_admin_name admin) to supplied group :param new_admin_name: new admin name to add :return: N)listrappendr)rnew_admin_name admin_listrs r_add_admins_into_groupr$/s^fhhJZ''.)))..5*----..rcDtjdd|g}|dkrdSdS)zCreate group with given namez/usr/sbin/groupaddz-frFTr)rrs r _create_groupr&=s,o3T:FGGG!||u 4rcttjtj}t t }|d}|ds-| d|tt|dStdkrr ttjtj}n#t$rd}YnwxYw||kr-| d|tt|dS t|}n#t$rt!dwxYwtj|j}t||dS)z Add all present DA admins (plus new_admin_name admin) to current supergid group :param new_admin_name: new admin name to add :return: ) config_filezfs.proc_super_gidN DirectAdminz6Bad fs.proc_super_gid option value in /etc/sysctl.conf)strgrpgetgrnamSUPER_GROUP_NAMEgr_gidr r get has_parametersetr$rDEFAULT_GROUP_NAMEKeyErrorint ValueError RuntimeErrorgetgrgidgr_name)r" super_gid sysctl_cfgproc_super_gid admin_gidproc_super_names r_add_admins_into_supergid_grpr>EsCL!1229::I(;<<22:O?N;;;;;s++C C&%C&D--Ec.ttjrjttst dtzt |t|tst d|dtdttst dtzt|tst d|dtdt}| ttdS)NzERROR: Can't create %s group zERROR: Can't add user z to z group ) r r LVEr&r- Exceptionr>rSUDOERS_GROUP_NAMEr add_lvemanager_groupr)namesudos radd_unix_user_to_sudoersrFls!'+..)-.. QrFrHrrrPsV&%%%%%&&&&&& ((((((,,,,,,,,;;;;;;;;""""""555555 ! . . .$<$<$