/opt/cloudlinux/venv/lib/python3.11/site-packages/__pycache__
NameSizeModeActions
clcontrollib.cpython-311.opt-1.pyc732640644editdlrm
clcontrollib.cpython-311.pyc732640644editdlrm
cldetectlib.cpython-311.opt-1.pyc245840644editdlrm
cldetectlib.cpython-311.pyc245840644editdlrm
cldiaglib.cpython-311.opt-1.pyc676420644editdlrm
cldiaglib.cpython-311.pyc676420644editdlrm
cli_utils.cpython-311.opt-1.pyc21610644editdlrm
cli_utils.cpython-311.pyc21610644editdlrm
cllicenselib.cpython-311.opt-1.pyc161930644editdlrm
cllicenselib.cpython-311.pyc161930644editdlrm
clsetuplib.cpython-311.opt-1.pyc69740644editdlrm
clsetuplib.cpython-311.pyc69740644editdlrm
clsudo.cpython-311.opt-1.pyc270110644editdlrm
clsudo.cpython-311.pyc270110644editdlrm
cl_proc_hidepid.cpython-311.opt-1.pyc61170644editdlrm
cl_proc_hidepid.cpython-311.pyc61170644editdlrm
configparser.cpython-311.pyc16510644editdlrm
ddt.cpython-311.pyc153380644editdlrm
docopt.cpython-311.pyc379350644editdlrm
getcontrolpanel.cpython-311.opt-1.pyc10220644editdlrm
getcontrolpanel.cpython-311.pyc10220644editdlrm
lveapi.cpython-311.opt-1.pyc269850644editdlrm
lveapi.cpython-311.pyc269850644editdlrm
lvectllib.cpython-311.opt-1.pyc1620120644editdlrm
lvectllib.cpython-311.pyc1620120644editdlrm
lvestat.cpython-311.opt-1.pyc71390644editdlrm
lvestat.cpython-311.pyc71390644editdlrm
mccabe.cpython-311.pyc205640644editdlrm
migration_ve1_to_v2.cpython-311.opt-1.pyc32310644editdlrm
migration_ve1_to_v2.cpython-311.pyc32310644editdlrm
pam.cpython-311.pyc101330644editdlrm
pep8ext_naming.cpython-311.pyc288400644editdlrm
py.cpython-311.pyc4520644editdlrm
pycodestyle.cpython-311.pyc1213910644editdlrm
remount_proc.cpython-311.opt-1.pyc7730644editdlrm
remount_proc.cpython-311.pyc7730644editdlrm
remove_ubc.cpython-311.opt-1.pyc103620644editdlrm
remove_ubc.cpython-311.pyc103620644editdlrm
schema.cpython-311.pyc442030644editdlrm
secureio.cpython-311.opt-1.pyc280750644editdlrm
secureio.cpython-311.pyc280750644editdlrm
six.cpython-311.pyc464220644editdlrm
typing_extensions.cpython-311.pyc1315440644editdlrm
_pyrsistent_version.cpython-311.pyc2310644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/__pycache__/secureio.cpython-311.pyc (28075B)
§ G¿&7K?¾�ãó¬—ddlZddlZddlZddlZddlZddlmZddlmZddl m Z m Z m Z m Z mZmZmZmZmZmZddlmZddlmZd„Zd„Zed¬ ¦«d „¦«Zer e¦«Ze Ze ZGd „d e ¦«Zee¦«Zd „Z d„Z!d„Z"d„Z#d„Z$d„Z%ed¬ ¦«d„¦«Z&er e&¦«Z'd„Z(d„Z)d„Z*d„Z+d„Z,da-dZ.dZ/dZ0d„Z1d„Z2d„Z3d „Z4d9d!„Z5d9d"„Z6d9d#„Z7d:d$„Z8d;d%„Z9dd+„Z=d>d,„Z>d-„Z?d.„Z@daAd/„ZBee/¬0¦«ZCd1„ZDdaEd?d2„ZFd3„ZGd@d4„ZHd5„ZId6„ZJejKd7„¦«ZLejKd8„¦«ZMdS)AéN)Ú lru_cache)Ú TYPE_CHECKING) ÚcdllÚc_longÚ StructureÚc_ushortÚc_ubyteÚc_charÚPOINTERÚc_intÚc_void_pÚc_char_p)ÚClPwd)Údrop_user_privilegescó†—|dkrt¦«S|dkrt¦«Stdt›d|›�¦«‚)NÚlibcÚliblvezmodule z has no attribute )Ú _load_libcÚ _load_liblveÚAttributeErrorÚ__name__)Únames úˆ/builddir/build/BUILDROOT/alt-python27-cllib-3.4.42-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/secureio.pyÚ __getattr__rsK€ð ˆv‚~€~݉|Œ|ÐØ �Ò Ð Ý‰~Œ~ÐÝ ÐE¥8ÐEÐE¸tÐEÐEÑ FÔ FÐFócóJ—ddgt¦« ¦«¢S)Nrr)ÚglobalsÚkeys©rrÚ__dir__r #s €Ø �HÐ 0�w™yœyŸ~š~Ñ/Ô/Ð 0Ð0r)Úmaxsizecóì—tjd¦«}tttg|j_t|j_ttg|j_t|j_tg|j_t|j_tg|j _t|j _tg|j _d|j _tg|j _t|j _|S)Nz libc.so.6) rÚ LoadLibraryr ÚfchownÚargtypesÚrestypeÚfchmodÚ fdopendirr ÚreaddirÚ DIRENTRY_PÚ rewinddirÚclosedir)rs rrr(sª€å Ô ˜KÑ (Ô (€Då!¥5­%Ð0€D„KÔÝ€D„KÔå!¥5˜>€D„KÔÝ€D„KÔõ %˜g€D„NÔå%€D„NÔõ&˜J€D„LÔå%€D„LÔõ (˜j€D„NÔà!€D„NÔõ'˜Z€D„MÔÝ!€D„MÔà €Krcó6—eZdZdefdefdefdefdedzfgZdS)ÚDIRENTRYÚd_inoÚd_offÚd_reclenÚd_typeÚd_nameéN) rÚ __module__Ú __qualname__Úino_tÚoff_trr r Ú_fields_rrrr.r.PsA€€€€€à �%ÐØ �%ÐØ �XÐØ �7ÐØ �6˜C‘<Ð ð €H€H€Hrr.cóH—t¦« |||¦«S©N)rr$)ÚfdÚuidÚgids rr$r$]s€Ý ‰<Œ<× Ò ˜r 3¨Ñ ,Ô ,Ð,rcóF—t¦« ||¦«Sr;)rr')r<Úmodes rr'r'as€Ý ‰<Œ<× Ò ˜r 4Ñ (Ô (Ð(rcóD—t¦« |¦«Sr;)rÚfdopen©r<s rrBrBes€Ý ‰<Œ<× Ò ˜rÑ "Ô "Ð"rcóD—t¦« |¦«Sr;)rr)©Údirps rr)r)is€Ý ‰<Œ<× Ò  Ñ %Ô %Ð%rcóD—t¦« |¦«Sr;)rr+rEs rr+r+ms€Ý ‰<Œ<× !Ò ! $Ñ 'Ô 'Ð'rcóD—t¦« |¦«Sr;)rr,rEs rr,r,qs€Ý ‰<Œ<× Ò  Ñ &Ô &Ð&rcó(— tjd¦«}n$#t$rtjd¦«}YnwxYwttg|j_t |j_t g|j_d|j_t g|j _t |j _tt tg|j _t |j _tt t tg|j _t |j _tt t t tg|j _t |j _tt t t t tg|j _t |j _tt t t tg|j_t |j_t tg|j_t|j_ttg|j_t |j_|S)Nzlibsecureio.so.0z liblve.so.0)rr#ÚOSErrorrÚopen_not_symlinkr%r r&ÚclosefdÚ check_dirÚisdirÚset_perm_dir_secureÚset_owner_dir_secureÚcreate_dir_secureÚmakedirs_secureÚget_path_from_descriptorÚ is_subdir)rs rrrvs€€ð1ÝÔ!Ð"4Ñ5Ô5ˆˆøÝ ð1ð1ð1ÝÔ! -Ñ0Ô0ˆˆˆð1øøøõ)1µ(Ð';€FÔÔ$Ý&+€FÔÔ#õ %˜g€F„NÔà!€F„NÔõ "' €FÔÔÝ$€FÔÔõ&¥u­hÐ7€F„LÔÝ €F„LÔõ,4µU½EÅ8Ð*L€FÔÔ'Ý).€FÔÔ&õ-5µe½UÅEÍ8Ð+T€FÔÔ(Ý*/€FÔÔ'õ *2µ5½%ÅÍÍxÐ(X€FÔÔ%Ý',€FÔÔ$õ (0µ½½uÅhÐ&O€FÔÔ#Ý%*€FÔÔ"õ 16µxÐ/@€FÔ#Ô,Ý.6€FÔ#Ô+õ"*­8Ð 4€FÔÔÝ$€FÔÔà €Ms ‚—8·8cóF—t¦« ||¦«Sr;)rrK)ÚpathÚ parent_paths rÚ_open_not_symlinkrXÊs€Ý ‰>Œ>× *Ò *¨4°Ñ =Ô =Ð=rcóD—t¦« |¦«Sr;)rrMrCs rrMrMÎs€Ý ‰>Œ>× #Ò # BÑ 'Ô 'Ð'rcóH—t¦« |||¦«Sr;)rrN)rVÚ descriptorrWs rrNrNÒs€Ý ‰>Œ>× Ò   j°+Ñ >Ô >Ð>rcóF—t¦« ||¦«Sr;)rrS)r<Úbufs rrSrSÖs€Ý ‰>Œ>× 2Ò 2°2°sÑ ;Ô ;Ð;rcóF—t¦« ||¦«Sr;)rrT)ÚdirÚsubdirs rrTrTÚs€Ý ‰>Œ>× #Ò # C¨Ñ 0Ô 0Ð0rTz/var/log/cagefs-update.logiôFcóZ—tj|tjtjz¦«Sr;)ÚosÚopenÚO_RDONLYÚ O_NOFOLLOW©rVs rrKrKês€Ý Œ7�4�œ¥r¤}Ñ4Ñ 5Ô 5Ð5rcóF—tjt|¦«d¦«S)NÚr)rbrBrKrfs rÚopen_file_not_symlinkriîs€Ý Œ9Õ% dÑ+Ô+¨SÑ 1Ô 1Ð1rcó6—tj|¦«}t|¦«}|std¦«‚t |¦«g} t |¦«}|sn"|j}| |j¦«Œ4t |¦«t|¦«|S)z:Returns list of entries of directory pointed by descriptorzfdopendir error) rbÚdupr(Ú RuntimeErrorr+r)ÚcontentsÚappendr3r,)r<Úfd2rFÚdirlistÚentrypÚentrys rÚflistdirrsòsŸ€õ Œ&�‰*Œ*€Cõ �S‰>Œ>€DØ ð.ÝÐ,Ñ-Ô-Ð-õ ˆd�O„O€Oà€Gð%ݘ‘”ˆØð Ø Ø”ˆØ�Š�u”|Ñ$Ô$Ð$ð %õˆd�O„O€OÝ ˆT�N„N€NØ €NrcóZ—|�( tj|¦«dS#t$rYdSwxYwdSr;)rbÚcloserJrCs rrLrLsF€Ø €~ð Ý ŒH�R‰LŒLˆLˆLˆLøÝð ð ð Ø ˆDˆDð øøøð€~s „š (§(cóÒ—|€d}t¦« | ¦«||| ¦«¦«}|dkr|S|�|d|zdd¦«dS)z{Sets permissions to directory (in secure manner) Returns descriptor if successful Returns None if error has occuredNéÿÿÿÿrz.Error: failed to set permissions of directory FT)rrOÚencode)rVÚpermrWr<Úloggers rrOrOsr€ð €zØ ˆÝ ‰Œ× +Ò +¨D¯KªK©M¬M¸4ÀÀ[×EWÒEWÑEYÔEYÑ ZÔ Z€BØ ˆA‚v€v؈ Ø ÐØˆÐ?À$ÑFÈÈtÑTÔTÐTØ ˆ4rcóÔ—|€d}t¦« | ¦«|||| ¦«¦«}|dkr|S|�|d|zdd¦«dS)zSets owner and group of directory (in secure manner) Returns descriptor if successful Returns None if error has occuredNrwrz(Error: failed to set owner of directory FT)rrPrx)rVr=r>rWr<rzs rrPrP$st€ð €zØ ˆÝ ‰Œ× ,Ò ,¨T¯[ª[©]¬]¸CÀÀbÈ+×J\ÒJ\ÑJ^ÔJ^Ñ _Ô _€BØ ˆA‚v€v؈ Ø ÐØˆÐ9¸DÑ@À%ÈÑNÔNÐNØ ˆ4rc óÖ—|€d}t¦« | ¦«||||| ¦«¦«}|dkr|S|�|d|zdd¦«dS)z“Creates directory if it does not exist, sets permissions/owner otherwise Returns descriptor if successful Returns None if error has occuredNrwrú#Error : failed to create directory FT)rrQrx)rVryr=r>rWr<rzs rrQrQ2sv€ð €zØ ˆÝ ‰Œ× )Ò )¨$¯+ª+©-¬-¸¸sÀCÈÈ[×M_ÒM_ÑMaÔMaÑ bÔ b€BØ ˆA‚v€v؈ Ø ÐØˆÐ4°tÑ;¸UÀDÑIÔIÐIØ ˆ4rcóÀ—t¦« | ¦«|||| ¦«¦«}|r|r|d|zdd¦«|S)zeRecursive directory creation function Returns 0 if successful Returns -1 if error has occuredr}FT)rrRrx)rVryr=r>rWrzÚress rrRrR@sg€õ ‰.Œ.× (Ò (¨¯ª©¬¸¸cÀ3È ×HZÒHZÑH\ÔH\Ñ ]Ô ]€CØ ðJˆvðJ؈Ð4°tÑ;¸UÀDÑIÔIÐIØ €JrcóÞ—|€|€|�|€td¦«‚|duo|du}|rt||¦« t|¦«}| ¦«}| ¦«|rt ¦«|S#t tf$r_}|rt ¦«td|zdzt|¦«ztd|¦«|s‚tj d¦«Yd}~dSd}~wwxYw)z read file not following symlinksNzEread_file_secure: uid and gid should be both null or be both not nullzError: failed to read ú : é) rlÚ set_user_permriÚ readlinesruÚ set_root_permrJÚIOErrorÚloggingÚstrÚ SILENT_FLAGÚsysÚexit) Úfilenamer=r>Ú exit_on_errorÚ write_logÚ drop_permÚ file_objectÚcontentÚes rÚread_file_securer“Js€à ˆ ˜˜¨S¨_ÀÀÝÐbÑcÔcÐcà˜D�Ð7 s°$ €IØð Ý�c˜3ÑÔÐð Ý+¨HÑ5Ô5ˆ Ø×'Ò'Ñ)Ô)ˆØ×ÒÑÔÐØ ð Ý ‰OŒOˆO؈øÝ •WÐ ðððØ ð Ý ‰OŒOˆOÝÐ(¨8Ñ3°eÑ;½cÀ!¹f¼fÑDÅkÐSTÐV_Ñ`Ô`Ð`Øð Ø Ý Œ�‰ Œ ˆ ˆ ˆ ˆ ˆ ˆ ˆ øøøøð øøøs³AA<Á<C, AC'Ã'C,é¤c óT—tj |¦«}|rt||¦«d}d} t jd|¬¦«\}} tj|d¦«} |  d |¦«¦«|s$|�"|� t|||¦«rtd¦«‚t||¦«rtd¦«‚|   ¦«�n+#ttf$rË} |   ¦«n#t$rYnwxYw tj |¦«n#t$rYnwxYw tj| ¦«n#t$rYnwxYw|rt!¦«t#d|›d t%| ¦« d d ¦«›�t(d |¦«Yd} ~ d Sd} ~ wt$rD} t#dt%| ¦«›�t(d ¦«t+jd ¦«Yd} ~ nd} ~ wwxYwd} tj| |¦«nl#t$r_} d } t#d|zd zt%| ¦«zt(d |¦« tj| ¦«n#t$rYnwxYwYd} ~ nd} ~ wwxYw|rt!¦«| S)z!Returns True if error has occuredNÚcagefs_)Úprefixr_ÚwÚz fchown failedz fchmod failedzError: failed to write file r�ÚErrnozErr coder‚TzError: Fz$Error: failed to rename tempfile to )rbrVÚdirnamerƒÚtempfileÚmkstemprBÚwriteÚjoinr$rJr'rur†Ú ExceptionÚunlinkr…r‡rˆÚreplacer‰rŠr‹Úrename) r‘Úini_pathr=r>r�ryrŽÚdirpathr<Ú temp_pathr�r’Úerrors rÚwrite_file_securer¨cs0€åŒg�oŠo˜hÑ'Ô'€Gàð Ý�c˜3ÑÔÐà €BØ€Ið"Ý Ô(° ¸wÐGÑGÔG‰ ˆˆIÝ”i  CÑ(Ô(ˆ Ø×Ò˜"Ÿ'š' 'Ñ*Ô*Ñ+Ô+Ð+Øð /˜S˜_°°Ý�b˜#˜sÑ#Ô#ð /ݘoÑ.Ô.Ð.Ý �"�dÑ Ô ð +ݘ/Ñ*Ô*Ð *Ø×ÒÑÔÐÑøÝ •WÐ ðððð Ø × Ò Ñ Ô Ð Ð øÝð ð ð Ø ˆDð øøøð Ý ŒH�R‰LŒLˆLˆLøÝð ð ð Ø ˆDð øøøð Ý ŒI�iÑ Ô Ð Ð øÝð ð ð Ø ˆDð øøøà ð Ý ‰OŒOˆOÝØ ]¨8Ð ]Ð ]½¸A¹¼¿ºÀwÐPZÑ8[Ô8[Ð ]Ð ]Ý Ø Ø ñ  ô ð ð ˆtˆtˆtˆtˆtøøøøÝ ðððÝÐ"�#˜a™&œ&Ð"Ð"¥K°Ñ3Ô3Ð3Ý Œ�‰ Œ ˆ ˆ ˆ ˆ ˆ ˆ øøøøðøøøð €EðÝ Œ �)˜XÑ&Ô&Ð&Ð&øÝ ððð؈ÝÐ6¸ÑAÀEÑIÍCÐPQÉFÌFÑRÕT_ÐabÐdmÑnÔnÐnð Ý ŒI�iÑ Ô Ð Ð øÝð ð ð Ø ˆDð øøøøøøøøøøøøð øøøðð݉Œˆà €LsÇ·B/C(Ã(HÃ:DÄF?Ä DÄF?ÄDÄF?Ä D5Ä4F?Ä5 EÄ?F?ÅEÅF?ÅEÅF?Å E(Å%F?Å'E(Å(AF?Æ? HÇ :H È HÈH,È, JÈ6/JÉ&I;É:JÉ; JÊJÊJÊJÊJr™Ú copy_ownercó—|�%tj¦«}t|dd¬¦«tj |¦«}d\} } t j|||¬¦«\} } tj| dd¬ ¦«5} d} |  |¦«tj |   ¦«|¦«|retj  |¦«rFtj |¦«} tj |   ¦«| j| j¦«ddd¦«n #1swxYwYnz#t t"t$f$r`| �- tj| ¦«n#t t"f$rYnwxYw| �- tj| ¦«n#t t"f$rYnwxYw‚wxYw tj| |¦«nI#t"t t$f$r/ tj| ¦«n#t"t f$rYnwxYw‚wxYw|�htj¦«} tj| ¦«tjtj¦«¦«| d krtj|¦«dSdSdS) a¯ Safely write string content to a file :param content: str :param dest_path: str -> path to a file :param perm: int -> permissions for the file :param prefix: str -> add to temporary file name :param suffix: str -> add to temporary file name :param as_user: str -> name of the user to drop privileges to :param copy_owner: bool -> whether to copy original uid/gid to new file if original exists NTF)Úeffective_or_realÚset_env©NN)r—Úsuffixr_r˜Úsurrogateescape)Úerrorsr)rbÚ getgroupsrrVr›rœr�rBržr'ÚfilenoÚisfileÚlstatr$Úst_uidÚst_gidr†rJÚ TypeErrorrur¡r£ÚgetuidÚseteuidÚsetegidÚgetgidÚ setgroups)r‘Ú dest_pathryr—r®Úas_userr©Ú old_groupsr¥r<r¦Úf_tempÚstat_Úruids rÚwrite_file_via_tempfilerásö€ðÐÝ”\‘^”^ˆ ݘW¸ÀeÐLÑLÔLÐLåŒg�oŠo˜iÑ(Ô(€GØ�M€Bˆ ðÝ Ô(Ø f°'ð;ñ;ô;‰ ˆˆIå ŒY�r˜3Ð'8Ð 9Ñ 9Ô 9ð G¸VðˆBØ �LŠL˜Ñ !Ô !Ð !õ ŒI�f—m’m‘o”o tÑ ,Ô ,Ð ,Øð G�bœgŸnšn¨YÑ7Ô7ð GÝœ Ñ+Ô+�Ý” ˜&Ÿ-š-™/œ/¨5¬<¸¼ÑFÔFÐFð Gð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gøøõ •W�iÐ (ð ð ð Ø ˆ>ð Ý”˜‘ ” � � øÝ�WÐ%ð ð ð Ø�ð øøøà Ð ð Ý” ˜)Ñ$Ô$Ð$Ð$øÝ�WÐ%ð ð ð Ø�ð øøøà ð øøøðÝ Œ �)˜YÑ'Ô'Ð'Ð'øÝ •W�iÐ (ðððð Ý ŒI�iÑ Ô Ð Ð øÝ�Ð!ð ð ð Ø ˆDð øøøà ð øøøðÐÝŒy‰{Œ{ˆÝ Œ �4ÑÔÐÝ Œ •2”9‘;”;ÑÔÐà �1Š9ˆ9Ý ŒL˜Ñ $Ô $Ð $Ð $Ð $ð Ðð ˆ9s©Á 1D<Á>B&D0Ä$ D<Ä0D4Ä4D<Ä7D4Ä8D<Ä<F3ÅE+Å*F3Å+E?Å<F3Å>E?Å?F3ÆFÆF3ÆF.Æ+F3Æ-F.Æ.F3Æ7G Ç HÇ%G:Ç9HÇ:HÈ HÈ HÈHcóD— tj|¦«ng#tf$rY}|rGtdt |¦«zdzt |¦«z¦«t jd¦«nYd}~dSYd}~nd}~wwxYwt||¦«} tj|¦«nS#tf$rE}|r3td|t |¦«¦«t jd¦«nYd}~dSYd}~nd}~wwxYw tj |¦«ng#tf$rY}|rGtdt |¦«zdzt |¦«z¦«t jd¦«nYd}~dSYd}~nd}~wwxYw|dkrda dSt¦«  ¦«d a dS) Nzfailed to set egid to z: r‚rwz'failed to set supplementary groups to :zfailed to set euid to rTF) rbrºrJÚ print_errorrˆrŠr‹Ú get_groupsr¼r¹Ú root_flagrÚenable_quota_capability)r=r>r‹r’Úgroupss rrƒrƒásë€ðÝ Œ �3‰ŒˆˆøÝ ˆ:ðððØ ð Ý Ð0µ3°s±8´8Ñ;¸dÑBÅSÈÁVÄVÑKÑ LÔ LÐ LÝ ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøõ˜˜SÑ !Ô !€FðÝ Œ �VÑÔÐÐøÝ ˆ:ðððØ ð Ý ÐAÀ6Í3ÈqÉ6Ì6Ñ RÔ RÐ RÝ ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøðÝ Œ �3‰ŒˆˆøÝ ˆ:ðððØ ð Ý Ð0µ3°s±8´8Ñ;¸dÑBÅSÈÁVÄVÑKÑ LÔ LÐ LÝ ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøð ˆa‚x€x؈ ˆ ˆ õ ‰Œ×.Ò.Ñ0Ô0Ð0؈ ˆ ˆ sF‚— A;¢A A6Á6A;ÂB$Â$ C4Â/5C/Ã/C4Ã8D Ä E1ÄA E,Å,E1cóœ— tjd¦«nR#tf$rD}|r2tdt |¦«¦«t jd¦«nYd}~dSYd}~nd}~wwxYw tjd¦«nR#tf$rD}|r2tdt |¦«¦«t jd¦«nYd}~dSYd}~nd}~wwxYwtdd¦«} tj |¦«nS#tf$rE}|r3td|t |¦«¦«t jd¦«nYd}~dSYd}~nd}~wwxYwda dS)Nrzfailed to set euid to 0 :r‚rwz Error: failed to set egid to 0 :z.Error: failed to set supplementary groups to :T) rbr¹rJrÅrˆrŠr‹rºrÆr¼rÇ)r‹r’rÉs rr…r…sŸ€ðÝ Œ �1‰ Œ ˆ ˆ øÝ ˆ:ðððØ ð Ý Ð3µS¸±V´VÑ <Ô <Ð <Ý ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøðÝ Œ �1‰ Œ ˆ ˆ øÝ ˆ:ðððØ ð Ý Ð:½CÀ¹F¼FÑ CÔ CÐ CÝ ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøõ˜˜1Ñ Ô €FðÝ Œ �VÑÔÐÐøÝ ˆ:ðððØ ð Ý ÐHÈ&ÕRUÐVWÑRXÔRXÑ YÔ YÐ YÝ ŒH�Q‰KŒKˆKˆKà�2�2�2�2�2ð ˆKˆKˆKˆKøøøøðøøøð€I€I€IsD‚— A&¢4A!Á!A&Á*A?Á? C 4C à CÃ"C7Ã7 EÄ5EÅEcó´—tddtj¬¦«|D]}t|dtj¬¦«Œttj¬¦«dS)NzError:ú )ÚendÚfile)rÎ)ÚprintrŠÚstderr)ÚargsÚas rrÅrÅ*s[€Ý ˆ(˜¥#¤*Ð-Ñ-Ô-Ð-Ø ð+ð+ˆÝ ˆa�S�sœzÐ*Ñ*Ô*Ð*Ð*Ý �sŒzÐÑÔÐÐÐrcóV—t¦«}t¦«}t¦«}|D]Y}||j}|D]G} ||j}n#t $rYŒwxYw||kr | ||j¦«ŒHŒZ| |¦«t|¦«S)z$Returns supplementary groups for uid) Ú get_grp_dictÚ get_pwd_dictÚsetÚgr_memÚpw_uidÚKeyErrorÚaddÚgr_gidÚlist) r=r>ÚgrÚpwrÉÚgroupÚmembersÚuserÚ member_uids rrÆrÆ1sÀ€å ‰Œ€BÝ ‰Œ€BÝ ‰UŒU€FØð-ð-ˆØ�U”)Ô"ˆØð -ð -ˆDð Ø œXœ_� � øÝð ð ð Ø�ð øøøà˜SÒ Ð Ø— ’ ˜2˜eœ9Ô+Ñ,Ô,Ð,øð  -ð ‡J‚Jˆs�O„O€OÝ �‰<Œ<ÐsÁ AÁ AÁAcóp—t€)iatj¦«}|D]}|t|j<ŒtSr;)Úgrp_dictÚgrpÚgetgrallÚgr_name)rÝÚlines rrÔrÔFs;€åÐØˆÝ Œ\‰^Œ^ˆØð *ð *ˆDØ%)�H�T”\Ñ "Ð "Ý €Or)Úmin_uidcó4—t ¦«Sr;)ÚclpwdÚ get_user_dictrrrrÕrÕSs€Ý × Ò Ñ Ô Ð rcóX—|s|rt|¦«|�rt}tst¦«\}}t¦« t€>t jd¦«}ttdd¦«at j|¦«t  |¦«t  d¦«nU#ttf$rA}tdtt|¦«¦«tjd¦«Yd}~nd}~wwxYw|st!||¦«dSdSdS)Nér˜r‚ú z writing to )rÏrÇÚget_permr…Úlog_filerbÚumaskrcÚLOGFILEržrJr†rÅrˆrŠr‹rƒ) ÚmsgÚsilentÚverboserŽÚroot_flag_savedr=r>Ú umask_savedr’s rr‡r‡Zs/€à ðØ ð Ý �#‰JŒJˆJàñ$Ý#ˆÝð Ý‘z”z‰HˆC�Ý ‰OŒOˆOð ÝÐÝ œh t™nœn� 奨¨aÑ0Ô0�Ý”˜Ñ%Ô%Ð%Ý �NŠN˜3Ñ Ô Ð Ý �NŠN˜4Ñ Ô Ð Ð øÝ�Ð!ð ð ð Ý ˜ ¥wµ°A±´Ñ 7Ô 7Ð 7Ý ŒH�Q‰KŒKˆKˆKˆKˆKˆKˆKøøøøð øøøðð $Ý ˜#˜sÑ #Ô #Ð #Ð #Ð #ð#$ð$ð  $ð $sÁA9B?Â?DÃ7D Ä Dcóì— tj¦«}tj¦«}nI#tf$r;}t dt |¦«¦«t jd¦«Yd}~nd}~wwxYw||fS)Nzfailed to get (euid,egid)r‚)rbÚgeteuidÚgetegidrJrÅrˆrŠr‹)r=r>r’s rrðrðtsy€ðÝŒj‰lŒlˆÝŒj‰lŒlˆˆøÝ ˆ:ðððÝÐ/µ°Q±´Ñ8Ô8Ð8Ý Œ�‰ Œ ˆ ˆ ˆ ˆ ˆ ˆ øøøøðøøøð �ˆ8€Os‚&)© A/´1A*Á*A/có†—|r t¦« ¦«nt¦« ¦«S)z¡ Set CAP_SYS_RESOURCE capability :param bool clear: Set on if it's true, set off otherwise :return: 0 for success, -1 otherwise :rtype: int )rÚdisable_quota_capabilityrÈ)Úclears rÚset_capabilityrÿ~s9€ð9>ð 6�<‰>Œ>× 2Ò 2Ñ 4Ô 4Ð 4Ý ‰^Œ^× 3Ò 3Ñ 5Ô 5ð6rcóF—tj|¦«t¦«S)a Change effective uid of current process and set CAP_SYS_RESOURCE capbality to prevent "Disk quota exceeded" error :param int euid: User ID to set it as current effective UID :return: 0 if capability was set successfuly, -1 otherwise :rtype: int )rbr¹rÿ)r=s rÚ change_uidrŠs€õ„Jˆs�O„O€OÝ Ñ Ô ÐrcóŽ—|s"t¦« ¦«dSt¦« ¦«dS)zZ Disable quota kernel check to allow us to write more than user can by quota. N)rrÈrý©Úenableds rÚ_set_quota_checks_statusr—sD€ð ð2݉Œ×.Ò.Ñ0Ô0Ð0Ð0Ð0剌×/Ò/Ñ1Ô1Ð1Ð1Ð1rc#ó~K—td¬¦« dV—td¬¦«dS#td¬¦«wxYw)NFrT)rrrrÚ disable_quotar¢sTèè€å UÐ+Ñ+Ô+Ð+ð/Ø ˆˆˆå ¨Ð.Ñ.Ô.Ð.Ð.Ð.øÕ ¨Ð.Ñ.Ô.Ð.Ð.øøøs”*ª<c#ó–K—tj|¦«} dV—tj|¦«dS#tj|¦«wxYwr;)rbrò)Ú umask_valueÚ saved_umasks rÚ set_umaskr «sOèè€å”(˜;Ñ'Ô'€KðØ ˆˆˆå Œ�ÑÔÐÐÐø�Œ�ÑÔÐÐøøøs ˜2²Ar­r;)NNTT)Tr”T)r™r™NF)T)FTT)F)NrårŠrœÚ contextlibrbÚ functoolsrÚtypingrÚctypesrrrrr r r r r rÚclcommonrÚclcommon.clpwdrrr rrr7r8r.r*r$r'rBr)r+r,rrrXrMrNrSrTrÇróÚMIN_UIDr‰rKrirsrLrOrPrQrRr“r¨ÚboolrÃrƒr…rÅrÆrärÔrërÕrñr‡rðrÿrrÚcontextmanagerrr rrrúrsŸðð € € € Ø € € € Ø€€€ØÐÐÐØ € € € ØÐÐÐÐÐØ Ð Ð Ð Ð Ð ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ð/ðÐÐÐÐÐØ/Ð/Ð/Ð/Ð/Ð/ðGðGðGð1ð1ð1ð  €�4ÐÑÔððñÔðð>ðØ ˆ:‰<Œ<€Dð €Ø€ðððððˆyñôððˆW�XÑ Ô € ð-ð-ð-ð)ð)ð)ð#ð#ð#ð&ð&ð&ð(ð(ð(ð'ð'ð'ð  €�4ÐÑÔðLðLñÔðLð^ðØ ˆ\‰^Œ^€Fð>ð>ð>ð(ð(ð(ð?ð?ð?ð<ð<ð<ð1ð1ð1ð € à &€à €à€ ð6ð6ð6ð2ð2ð2ðððð8ððð ð ð ð ð ð ð ð ð ð ð ð ððððððððð2;ð;ð;ð;ð~Z_ð=%ð=%ØRVð=%ð=%ð=%ð=%ð@$ð$ð$ð$ðNððððDðððððð$ €ðððð ˆ�gÐÑÔ€ð!ð!ð!ð €ð$ð$ð$ð$ð4ððð 6ð 6ð 6ð 6ð ð ð ð2ð2ð2ð Ôð/ð/ñÔð/ð ÔððñÔðððr