/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/__pycache__
NameSizeModeActions
clcagefs.cpython-311.opt-1.pyc191140644editdlrm
clcagefs.cpython-311.pyc191140644editdlrm
clcaptain.cpython-311.opt-1.pyc46980644editdlrm
clcaptain.cpython-311.pyc46980644editdlrm
clconfig.cpython-311.opt-1.pyc39540644editdlrm
clconfig.cpython-311.pyc39540644editdlrm
clconfpars.cpython-311.opt-1.pyc213880644editdlrm
clconfpars.cpython-311.pyc213880644editdlrm
clcustomscript.cpython-311.opt-1.pyc28600644editdlrm
clcustomscript.cpython-311.pyc28600644editdlrm
cldebug.cpython-311.opt-1.pyc15160644editdlrm
cldebug.cpython-311.pyc15160644editdlrm
clemail.cpython-311.opt-1.pyc25050644editdlrm
clemail.cpython-311.pyc25050644editdlrm
clexception.cpython-311.opt-1.pyc17680644editdlrm
clexception.cpython-311.pyc17680644editdlrm
clfunc.cpython-311.opt-1.pyc122650644editdlrm
clfunc.cpython-311.pyc122650644editdlrm
clhook.cpython-311.opt-1.pyc112610644editdlrm
clhook.cpython-311.pyc112610644editdlrm
cllog.cpython-311.opt-1.pyc28820644editdlrm
cllog.cpython-311.pyc28820644editdlrm
cloutput.cpython-311.opt-1.pyc8780644editdlrm
cloutput.cpython-311.pyc8780644editdlrm
clproc.cpython-311.opt-1.pyc91730644editdlrm
clproc.cpython-311.pyc91730644editdlrm
clpwd.cpython-311.opt-1.pyc122930644editdlrm
clpwd.cpython-311.pyc122930644editdlrm
clquota.cpython-311.opt-1.pyc18610644editdlrm
clquota.cpython-311.pyc18610644editdlrm
clsec.cpython-311.opt-1.pyc16210644editdlrm
clsec.cpython-311.pyc16210644editdlrm
clwpos_lib.cpython-311.opt-1.pyc246840644editdlrm
clwpos_lib.cpython-311.pyc246840644editdlrm
const.cpython-311.opt-1.pyc3250644editdlrm
const.cpython-311.pyc3250644editdlrm
evr_utils.cpython-311.opt-1.pyc51630644editdlrm
evr_utils.cpython-311.pyc51630644editdlrm
features.cpython-311.opt-1.pyc62650644editdlrm
features.cpython-311.pyc62650644editdlrm
group_info_reader.cpython-311.opt-1.pyc66470644editdlrm
group_info_reader.cpython-311.pyc66470644editdlrm
lock.cpython-311.opt-1.pyc24170644editdlrm
lock.cpython-311.pyc24170644editdlrm
mail_helper.cpython-311.opt-1.pyc74090644editdlrm
mail_helper.cpython-311.pyc74090644editdlrm
mysql_lib.cpython-311.opt-1.pyc102780644editdlrm
mysql_lib.cpython-311.pyc102780644editdlrm
php_conf_reader.cpython-311.opt-1.pyc115890644editdlrm
php_conf_reader.cpython-311.pyc115890644editdlrm
sysctl.cpython-311.opt-1.pyc122930644editdlrm
sysctl.cpython-311.pyc122930644editdlrm
ui_config.cpython-311.opt-1.pyc48310644editdlrm
ui_config.cpython-311.pyc48310644editdlrm
utils.cpython-311.opt-1.pyc444880644editdlrm
utils.cpython-311.pyc444880644editdlrm
utils_cmd.cpython-311.opt-1.pyc43240644editdlrm
utils_cmd.cpython-311.pyc43240644editdlrm
__init__.cpython-311.opt-1.pyc15050644editdlrm
__init__.cpython-311.pyc15050644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/__pycache__/clpwd.cpython-311.pyc (12293B)
§ [bøßÂ7,’ãó|—ddlZddlZddlZddlmZddlmZGd„d¦«Zd d„Zed „¦«Z d „Z d d „Z dS)éN)Úcontextmanageré)ÚFormattedExceptioncóz—eZdZdZGd„de¦«Zdd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zdd„ZdS)ÚClPwdz/etc/login.defscó‡—eZdZˆfd„ZˆxZS)úClPwd.NoSuchUserExceptioncód•—ttj|¦«jdd|idœg|¢Ri|¤ŽdS)NzNo such user (%(user)s)Úuser©ÚmessageÚcontext)ÚsuperrÚNoSuchUserExceptionÚ__init__)Úselfr ÚargsÚkwargsÚ __class__s €úŽ/builddir/build/BUILDROOT/alt-python27-cllib-3.4.42-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clpwd.pyrz"ClPwd.NoSuchUserException.__init__scø€Ø ;�E•%Ô+¨TÑ 2Ô 2Ô ;Ø4Ø" D˜>ð=ð=ð ðð ð ð ðð ð ð ð ð ó)Ú__name__Ú __module__Ú __qualname__rÚ __classcell__)rs@rrr s8ø€€€€€ð ð ð ð ð ð ð ð ð rrNcóˆ—i|_i|_i|_i|_|€| d¦«|_dS||_dS)Néô)Ú _user_key_mapÚ _uid_key_mapÚ_user_full_mapÚ _uid_full_mapÚget_sys_min_uidÚ_min_uid)rÚmin_uids rrzClPwd.__init__sK€ØˆÔØˆÔØ ˆÔØˆÔØ ˆ?Ø ×0Ò0°Ñ5Ô5ˆDŒMˆMˆMà#ˆDŒMˆMˆMrcó8—| ¦«|jS©N)Ú_load_passwd_databaser©rs rÚ get_user_dictzClPwd.get_user_dict'ó€Ø ×"Ò"Ñ$Ô$Ð$ØÔ!Ð!rcó8—| ¦«|jSr&)r'rr(s rÚ get_uid_dictzClPwd.get_uid_dict+s€Ø ×"Ò"Ñ$Ô$Ð$ØÔ Ð rcó8—| ¦«|jSr&)r'r r(s rÚget_user_full_dictzClPwd.get_user_full_dict/s€Ø ×"Ò"Ñ$Ô$Ð$ØÔ"Ð"rcó8—| ¦«|jSr&)r'r!r(s rÚget_uid_full_dictzClPwd.get_uid_full_dict3r*rcó’— | ¦«|S#t$r }t |¦«|‚d}~wwxYw)z* Return pw_entry for user N)r.ÚKeyErrorrr©rr Úes rÚget_pw_by_namezClPwd.get_pw_by_name7sS€ð 9Ø×*Ò*Ñ,Ô,¨TÔ2Ð 2øÝð 9ð 9ð 9Ý×+Ò+¨DÑ1Ô1°qÐ 8øøøøð 9øøøó‚œ A¦AÁAcó’— | ¦«|S#t$r }t |¦«|‚d}~wwxYw)z7 Return list of passwd entries for uid N©r0r2rr)rÚuidr4s rÚ get_pw_by_uidzClPwd.get_pw_by_uid@sS€ð 8Ø×)Ò)Ñ+Ô+¨CÔ0Ð 0øÝð 8ð 8ð 8Ý×+Ò+¨CÑ0Ô0°aÐ 7øøøøð 8øøør6cóœ— | ¦«|jS#t$r }t |¦«|‚d}~wwxYw)z& Returns uid for user N)r.Úpw_uidr2rrr3s rÚget_uidz ClPwd.get_uidIsV€ð 9Ø×*Ò*Ñ,Ô,¨TÔ2Ô9Ð 9øÝð 9ð 9ð 9Ý×+Ò+¨DÑ1Ô1°qÐ 8øøøøð 9øøøó‚!¡ A «AÁA cóœ— | ¦«|jS#t$r }t |¦«|‚d}~wwxYw)z` Returns homedir for a user @param user: string @return: string N)r.Úpw_dirr2rrr3s rÚ get_homedirzClPwd.get_homedirRsV€ð  9Ø×*Ò*Ñ,Ô,¨TÔ2Ô9Ð 9øÝð 9ð 9ð 9Ý×+Ò+¨DÑ1Ô1°qÐ 8øøøøð 9øøør>có¨—|jsÈtj¦«D]¶}||j|j<|j|jvrg|j|j<|j|j |¦«|j|jkrQ||j|j<|j|j vrg|j |j<|j |j |¦«ŒµdSdS)zZ Loads the passwd database and fills user_to_uid and user_to_homedir maps N) r!ÚpwdÚgetpwallr Úpw_namer<Úappendr#rr)rÚentrys rr'zClPwd._load_passwd_database]sç€ðÔ!ð BÝœ™œð Bð B�Ø5:�Ô# E¤MÑ2Ø”< tÔ'9Ð9Ð9Ø79�DÔ& u¤|Ñ4ØÔ" 5¤<Ô0×7Ò7¸Ñ>Ô>Ð>Ø”< 4¤=Ò0Ð0Ø8=�DÔ& u¤}Ñ5Ø”|¨4Ô+<Ð<Ð<Ø:<˜Ô)¨%¬,Ñ7ØÔ% e¤lÔ3×:Ò:¸5ÑAÔAÐAøð Bð Bð Bð Brcó¬— | ¦«|}n-#t$r }t |¦«|‚d}~wwxYwd„|D¦«S)zs Return names of users with uid specified @param uid: int @return: list of strings Ncó—g|] }|j‘Œ S©)rE)Ú.0rGs rú z#ClPwd.get_names..xs€Ð3Ð3Ð3 %�” Ð3Ð3Ð3rr8)rr9Úentriesr4s rÚ get_nameszClPwd.get_namesmsj€ð  8Ø×,Ò,Ñ.Ô.¨sÔ3ˆGˆGøÝð 8ð 8ð 8Ý×+Ò+¨CÑ0Ô0°aÐ 7øøøøð 8øøøð4Ð3¨7Ð3Ñ3Ô3Ð3s‚� A§AÁArcó¢—tj |j¦«rªt |jdd¬¦«5}| ¦«}ddd¦«n #1swxYwY|D]d}| d¦«rM t| d¦«d  ¦«¦«cS#t$rYŒ`wxYwŒe|S)z� Return system defined MIN_UID from /etc/login.def or def_min_uid @param def_min_uid: int @return: MIN_UID: int Úrzutf-8)ÚencodingNÚUID_MINr) ÚosÚpathÚexistsÚLOGIN_DEF_FILEÚopenÚ readlinesÚ startswithÚintÚsplitÚstripÚ ValueError)rÚ def_min_uidÚfÚlinesÚlines rr"zClPwd.get_sys_min_uidzs€õ Œ7�>Š>˜$Ô-Ñ .Ô .ð Ý�dÔ)¨3¸ÐAÑAÔAð &ÀQØŸ š ™ œ �ð &ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &àð ð �Ø—?’? 9Ñ-Ô-ððÝ" 4§:¢:¨iÑ#8Ô#8¸Ô#;×#AÒ#AÑ#CÔ#CÑDÔDÐDÐDÐDøÝ%ðððØ˜ðøøøðð Ðs#¼AÁA!Á$A!Â9B>Â> C à C r&)r)rrrrVrrrr)r,r.r0r5r:r=rAr'rNr"rJrrrrs€€€€€à&€Nð ð ð ð ð Ð0ñ ô ð ð$ð$ð$ð$ð"ð"ð"ð!ð!ð!ð#ð#ð#ð"ð"ð"ð9ð9ð9ð8ð8ð8ð9ð9ð9ð 9ð 9ð 9ðBðBðBð 4ð 4ð 4ððððððrrTcó0‡—tj¦«}|dkr÷‰r÷tj‰¦«}ˆfd„t j¦«D¦«}|j}||vr| |¦«tj|¦«|r3tj |j¦«tj |j ¦«n2tj |j¦«tj |j ¦«|r)‰tjd<|jtjd<dSdSdSdS)zí Drop current root privileges to user :param effective_or_real: if True - drop euid, else - drop ruid :param user: name of unix user :param set_env: bool -> if true set $HOME and $USER env variables :return: None rcó0•—g|]}‰|jv¯ |j‘ŒSrJ)Úgr_memÚgr_gid)rKÚgroupr s €rrLz(drop_user_privileges..šs'ø€ÐXÐXÐX¨À4È5Ì<ÐCWÐCW�u”|ÐCWÐCWÐCWrÚUSERÚHOMEN)rSÚgeteuidrCÚgetpwnamÚgrpÚgetgrallÚpw_gidrFÚ setgroupsÚsetegidÚseteuidr<ÚsetgidÚsetuidÚenvironr@)r Úeffective_or_realÚset_envÚ current_euidÚuser_pwdÚ user_groupsÚmain_user_groups` rÚdrop_user_privilegesrzŽsø€õ”:‘<”<€LØ�qÒИTÐÝ”< Ñ%Ô%ˆàXÐXÐXÐXµ´±´ÐXÑXÔXˆ Ø"œ/ˆØ  +Ð -Ð -Ø × Ò ˜Ñ /Ô /Ð /Ý Œ �[Ñ!Ô!Ð!à ð 'Ý ŒJ�x”Ñ 'Ô 'Ð 'Ý ŒJ�x”Ñ 'Ô 'Ð 'Ð 'å ŒI�h”oÑ &Ô &Ð &Ý ŒI�h”oÑ &Ô &Ð &Ø ð 1à!%�BŒJ�vÑ Ø!)¤�BŒJ�vÑ Ð Ð ð%ÐÐÐð 1ð 1rc#óK—tj¦«tj¦«tj¦«}}} t |dd¬¦«n-#t $r }t  |¦«|‚d}~wwxYw dV—tj|¦«tj |¦«tj |¦«dS#tj|¦«tj |¦«tj |¦«wxYw)zk Temporary drop privileges to some user :type user: str :raises: ClPwd.NoSuchUserException TF)rtruN) rSÚgetuidÚgetgidÚ getgroupsrzr2rrrprorn)r Úold_uidÚold_gidÚ old_groupsr4s rÚdrop_privilegesr‚¬söèè€õ$&¤9¡;¤;µ´ ± ´ ½R¼\¹^¼^�jˆW€Gð5ݘT°TÀ5ÐIÑIÔIÐIÐIøÝ ð5ð5ð5Ý×'Ò'¨Ñ-Ô-°1Ð4øøøøð5øøøð!Ø ˆˆˆå Œ �7ÑÔÐÝ Œ �7ÑÔÐÝ Œ �ZÑ Ô Ð Ð Ð øõ Œ �7ÑÔÐÝ Œ �7ÑÔÐÝ Œ �ZÑ Ô Ð Ð øøøs#½AÁ A:ÁA5Á5A:Á>CÃ>C>có¶—|€td¦«‚ddlm}ddlm}||¦«} |d\}}n##t $r}|dd|id œ¦«|‚d}~wwxYw|S) zw Resolve document root by username :param user: str -> name of unix user :return: str -> document root Nz-Cannot resolve docroot without specified userr)Ú userdomains)ÚNoDomainrz!No domain for user %(user)s foundr r )rÚcpapir„Úcpapi.cpapiexceptionsr…Ú IndexError)r r„r…Ú domains_listÚ_Úresultr4s rÚ_resolve_doc_root_by_userrŒÀs´€ð €|Ý Ð!PÑQÔQÐQð#Ð"Ð"Ð"Ð"Ð"Ø/Ð/Ð/Ð/Ð/Ð/à�;˜tÑ$Ô$€LðØ  ”O‰ ˆˆ6ˆ6øÝ ððð؈hØ:Ø �~ð ð ñ ô ðð øøøøðøøøð €Msª 6¶ AÁAÁAcó&—ddlm}ddlm}|}d}t j¦«}|�'||¦«\}}|€|}n||kr |d¦«‚|}nB|�t |¬¦«}n/|dkr)tj|¦«j }t |¬¦«}||fS)a Resolve username and doc_root by domain, or resolve document root by username, or resolve document root and username by effective uid :param user: str -> name of unix user :param domain: str -> domain of panel user :return: tuple -> user, doc_root r)Údocroot)Ú IncorrectDataNzUser and domain are in conflict)r r) r†rŽr‡r�rSrirŒrCÚgetpwuidrE) r ÚdomainrŽr�Ú result_userÚresult_doc_rootrvÚdoc_rootÚ domain_users rÚresolve_username_and_doc_rootr–ÚsÔ€ðÐÐÐÐÐØ4Ð4Ð4Ð4Ð4Ð4à€KØ€OÝ”:‘<”<€Là ÐØ ' ¨¡¤Ñˆ�+Ø ˆ<Ø%ˆKˆKØ �[Ò Ð Ø�-Ð AÑBÔBÐ BØ"ˆˆØ Ð Ý3¸Ð>Ñ>Ô>ˆˆØ ˜Ò Ð Ý”l <Ñ0Ô0Ô8ˆ Ý3¸ÐEÑEÔEˆà ˜Ð 'Ð'r)NTT)NN) rSrCrkÚ contextlibrÚ clexceptionrrrzr‚rŒr–rJrrúr™sÓðð € € € Ø € € € Ø € € € à%Ð%Ð%Ð%Ð%Ð%à+Ð+Ð+Ð+Ð+Ð+ðyðyðyðyðyñyôyðyðx1ð1ð1ð1ð<ð!ð!ñ„ð!ð&ððð4(ð(ð(ð(ð(ð(r