PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  b=0Yc@s ddlZddlZddlZddlZddlZddlZddlmZmZde fdYZ de fdYZ de fdYZ d e fd YZ d d d dddgZddddgZdZdZdZdefdYZdS(iN(tS_IRUSRtS_IRGRPt NoSuchUsercBseZdZRS(cCs%d|}tj|d|fdS(NsNo such user (%s)(t Exceptiont__init__(tselftusertmessage((s*/usr/lib/python2.7/site-packages/clsudo.pyR s (t__name__t __module__R(((s*/usr/lib/python2.7/site-packages/clsudo.pyR st NoSuchGroupcBseZdZRS(cCsd|}tj||dS(NsNo such group (%s)(RR(RtgroupR((s*/usr/lib/python2.7/site-packages/clsudo.pyRs (RR R(((s*/usr/lib/python2.7/site-packages/clsudo.pyR stUnableToReadFilecBseZdZRS(cCstj|ddS(NsCannot read sudoers file(RR(R((s*/usr/lib/python2.7/site-packages/clsudo.pyRs(RR R(((s*/usr/lib/python2.7/site-packages/clsudo.pyR stUnableToWriteFilecBseZdZRS(cCstj|ddS(NsCannot modify sudoers file(RR(R((s*/usr/lib/python2.7/site-packages/clsudo.pyRs(RR R(((s*/usr/lib/python2.7/site-packages/clsudo.pyR ss/bin/pss /bin/greps /sbin/services%/usr/bin/getcontrolpaneluserspackagess/usr/sbin/lvectls>/usr/local/directadmin/plugins/new_lvemanager/admin/GetDomainss/usr/bin/cl-selectors/usr/bin/pinisets/usr/sbin/lvepss/usr/bin/selectorctlsDefaults:%s !requirettys-%%%s ALL=NOPASSWD: LVECTL_CMDS, SELECTOR_CMDSsDefaults:%%%s !requirettytClsudocBseZdZdZdZdZdZeeZdZeeZdZ ee Z dZ ee Z dZ ee Z d Z ee Z d Z ee Z d ZeeZd ZeeZd ZeeZdZeeZRS(s/ Adds CloudLinux users to sudoers file s /etc/sudoerss/etct lve_sudoers_cCstj|tj|tjsCtjjddjtntjsltjjddjt ntj stjjd|fntj stjjd|fntj stjjt |fntjdS(s/ Adds username to sudoers file sCmnd_Alias LVECTL_CMDS = s, sCmnd_Alias SELECTOR_CMDS = s%s ALL=NOPASSWD: LVECTL_CMDSs%s ALL=NOPASSWD: SELECTOR_CMDSN(Rt _check_usert _get_contentst has_aliast sudoers_listtappendtjointALIAS_LVECTL_CMDSthas_selector_aliastALIAS_SELECTOR_CMDSt has_rightsthas_selector_rightst has_actiontDEFAULTS_REQUIRETTYt_write_contents(R((s*/usr/lib/python2.7/site-packages/clsudo.pytadd_user3s         cCstj|tj|tjs6tjjdntjsYtjjd|fntjs|tjjt|fntj dS(s/ Adds username to sudoers file sOCmnd_Alias CAGEFS_CMDS = /usr/sbin/cagefsctl, /bin/ps, /bin/grep, /sbin/services%s ALL=NOPASSWD: CAGEFS_CMDSN( RRRthas_cagefs_aliasRRthas_cagefs_rightsRRR(R((s*/usr/lib/python2.7/site-packages/clsudo.pytadd_cagefs_userGs     cCstj|tj|tjsCtjjddjtntjsltjjddjt ntj stjjt |fntj stjjt |fntjdS(sJ Adds group to sudoers file, grants access to LVE Manager sCmnd_Alias LVECTL_CMDS = s, sCmnd_Alias SELECTOR_CMDS = N(Rt _check_groupt_get_contents_groupRRRRRRRRtGROUP_LVECTL_SELECTORthas_group_actiontGROUP_DEFAULTS_REQUIRETTYR(t group_name((s*/usr/lib/python2.7/site-packages/clsudo.pytadd_lvemanager_groupWs        cCsyttj}|jjt_|jd}t}xr|ttjkrtj|}d|f|kst |f|krtjj |t }q@n|d7}q@W|rtj nWn t tfk rtnXdS(s5 Removes username from sudoers file is%s ALL=NOPASSWD:iN(topenRtfilepathtreadt splitlinesRtclosetFalsetlenRtremovetTrueRtIOErrortOSErrorR (Rtftidxtremovedtline((s*/usr/lib/python2.7/site-packages/clsudo.pyt remove_useris"  &c Cstj|tj|itd6td6}d}xtttjD]}tj|}x|jD]\}}||krj|j |dj }|j d}xG|D]<}||krd}d|dj |ftj|tt_ qndtj|kr|jtj|}|rtt_qqndtj|kr dtj|krtj|jd d tj|tj|jdd tj|s"