sudo proxychains vs. proxychains sudo: hvorfor rækkefølgen betyder noget
Forstå, hvorfor proxychains sudo kan miste sit aflytningsbibliotek, mens sudo proxychains starter indpakningen i målprogrammets kørselskontekst.
Disse kommandoer har ikke samme udførelsesgrænse:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng sørger for, at et bibliotek forindlæses i målprogrammet. På Linux udløser kørsel af et set-user-ID-program som sudo indlæserens sikkerhedsregler, som fjerner de relevante biblioteksindlæsningsvariabler, før sudo kan bevare dem.
Derfor er "bevar mere miljø" ikke en pålidelig løsning til at sætte sudo ind i indpakningen. sudoers-manualen beskriver udtrykkeligt, at variabler som LD_* fjernes, før sudo begynder.
Hvis en kommando virkelig kræver målkontoen, så start indpakningen i den autoriserede kontekst. Kontroller derefter hvilken konfiguration den læser: sudo kan ændre HOME, PATH og den relevante fil pr. bruger. Et fungerende kald uden privilegier beviser ikke, at root valgte den samme proxyliste.
Foretræk programmets oprindelige proxygrænseflade, når den tilbyder en. Det undgår at afhænge af aflytning for en anmodning, som programmet allerede ved, hvordan det skal rutes.
Hav også proxychains' dækningsgrænser in mente. Dens opstartsmeddelelse beviser, at indpakningen startede; den beviser ikke, at rå pakker, ikke-understøttede kald eller en separat startet eksisterende programproces brugte dens bibliotek. Bekræft den netværksoperation, du ville aflytte, i stedet for at betragte root-privilegium som bevis for, at hver operation blev aflyttet.