7hjSrSSKrSSKrSSKJr SSKJrJrJr SSK J r J r SSK r SSK r SSKJr SSKJr SSKJr SS KJrJr SS KJr S \4S jrS rS\S\4SjrS\S\4SjrS\S\S\4Sjr\S:Xa\"5 gg)zMain logic for fixpermsN)partial)runPIPECalledProcessError)ProcessPoolExecutor as_completed) CpanelPermMap) CwpPermMap) WP3PermMap) parse_argsArgs)IDCacherolec[RS:XagUS;ag[[S[SS9nUS:Xa6U"SS /5R n[ R"S U5(dgS nS nO3U"S S/5R nSU;agU"SS /5R nSnSnSU;dSU;ag[R"SUSU35 g)z2Check if DSO is installed and modruid2 is disabledsharedN)CWPcPanelzUTF-8F)encodingstdoutcheckrz/usr/local/apache/bin/httpdz-Mz php\d+_modulezmod_ruid2 or mod_mpm_itkz7http://wiki.centos-webpanel.com/dso-php-handler-for-cwpz%/usr/local/cpanel/bin/rebuild_phpconfz --currentz SAPI: dsoz/usr/sbin/httpdz0ea-apache24-mod_ruid2 or ea-apache24-mod_mpm_itkzhttps://go.cpanel.net/EA4RecDSOzruid2_module (shared)zmpm_itk_module (shared)aPlease install the modruid2 Apache module. fixperms detected a security issue and exited. PHP DSO runs as the nobody user by default. In a shared hosting environment, this is a security issue. We strongly recommend that you install either the z Apache module unless you have single-user system. If you use suPHP, you will add some security, but may experience performance issues on your server. For more information, see: ) radsIMH_ROLErrrrresearchsysexit)rrun_cmdmods good_modskb_urlphps "/usr/lib/fixperms/fixperms_main.pycheck_dso_without_modruid2r#s }}  $$cGDFG u}5t<=DDyy)400 . J 4k B &  c ! )40188F 2$&*Ct*KHH  K !'x + c[5n[UR5n[UR5 [UR5S:aURS:a [UW5 g[UW5 g![a<nURR SU5 [ R"S5 SnANSnAff=f)z;Main program logic: iterate over each user and run fixpermsz%s. Cannot continue.N)r rrKeyErrorloggercriticalrrr#lenusersprocsparallel_executeserial_execute)argsidsexcs r"mainr2:s  [!U5HnUR#5 M SSS5 [$R&"U5 g![atn[ U[ 5(d.URR[R"55 URR[U55 SnSnAMSnAff=f![aun[ U[ 5(d.URR[R"55 URR[U55 SnSnAGM2SnAff=f!,(df  GN)=f)z"Fork processes to handle each userr) max_workersr&N)rr,r+ get_perm_map Exception isinstancerr(debug traceback format_excerrorstrsubmitrappendrresultrr) r/r0 exit_codepoolfuturesuserperm_mapr1futures r"r-r-IsEI  4JJD '48[[.F NN6 "#7+F  , 5,HHY# !#'9::KK%%i&:&:&<= !!#c(+    !#'9::KK%%i&:&:&<= !!#c(+   ! 5 4s_F* B'>F*4D(F*' D%1A)D F* D%%F*( F'2A)F"F*"F''F** F9cSnURHn[XU5R5 M [R"U5 g![atn[ U[ 5(d.UR R[R"55 UR R[U55 SnSnAMSnAff=f)z$Handle each user in the main processrr&N)r+r5rr6r7rr(r8r9r:r;r<rr)r/r0r@rCr1s r"r.r.esI   D ) - - /HHY  c#566 !!)"6"6"89 KK  c#h 'I   sA CA)CCrCcURS:Xa [XU5$URS:Xa [XU5$URS:Xa [X5$[R "SUR<35 g)z Return a PermMap subclass objectrrWP3z!BUG in get_perm_map(): args.role=N)rr r r rr)r/r0rCs r"r5r5tsc yyE#T** yyHS-- yyE#$$HH1tyyl 34r$__main__) __doc__rr functoolsr subprocessrrrconcurrent.futuresrrr9rfixperms_cpanelr fixperms_cwpr fixperms_wp3r fixperms_clir r fixperms_idsrr<r#r2r-r.r5__name__r$r"rUs 44@ )##) &S&R "4g8  G 5t5'55 zFr$