sudo proxychains срещу proxychains sudo: защо редът е важен
Разберете защо proxychains sudo може да загуби библиотеката си за прихващане, докато sudo proxychains стартира обвивката в целевия контекст на изпълнение.
Тези команди нямат една и съща граница на изпълнение:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng осигурява предварително зареждане на библиотека в целевата програма. В Linux изпълнението на програма със set-user-ID, като sudo, задейства правилата за сигурност на зареждащия модул, които премахват съответните променливи за зареждане на библиотеки, преди sudo да успее да ги запази.
Следователно "запазване на повече среда" не е надеждно решение за поставяне на sudo вътре в обвивката. Ръководството на sudoers изрично описва, че променливи като LD_* се премахват, преди sudo да започне.
Ако дадена команда наистина изисква целевия акаунт, стартирайте обвивката в този разрешен контекст. След това проверете коя конфигурация чете: sudo може да промени HOME, PATH и приложимия файл за потребителя. Работещо извикване без привилегии не доказва, че root е избрал същия списък с проксита.
Предпочитайте собствения прокси интерфейс на програмата, когато тя предлага такъв. Така избягвате зависимостта от прихващане за заявка, която програмата вече знае как да маршрутизира.
Също така имайте предвид ограниченията на обхвата на proxychains. Съобщението при стартиране доказва, че обвивката е стартирала; то не доказва, че сурови пакети, неподдържани извиквания или отделно стартиран съществуващ процес на приложение са използвали библиотеката ѝ. Потвърдете мрежовата операция, която сте искали да пренасочите, вместо да приемате root привилегията като доказателство, че всяка операция е прихваната.