W systemie Linux, jak mogę zmienić identyfikator EUID uruchomionego procesu z wiersza poleceń (pod warunkiem, że mam dostęp do konta root)?
linux
security
process
privileges
jackhab
źródło
źródło
Jeśli mówisz o procesie zmiany własnego identyfikatora EUID, istnieje wiele sposobów, aby to zrobić.
W zależności od efektywnego UID programu i od tego, czy istnieje zapisany UID, możesz być w stanie przełączać się między dwiema wartościami EUID w programie innym niż root. Korzystając z programu uprzywilejowanego do rootowania, musisz zachować ostrożność - musisz zdecydować, czy zmiana powinna być nieodwracalna, i użyć poprawnej funkcji dla zadania. (Używanie setuid () jako root jest nieodwracalne).
Jeśli próbujesz zmienić proces, który już działa z oddzielnego procesu, nie ma standardowego sposobu na zrobienie tego - i nie jestem pewien, czy istnieje wiele niestandardowych sposobów. Możesz być w stanie wrzucić trochę informacji do / dev / kmem, ale przychodzi mi na myśl wyrażenie „cienki lód”.
źródło
Nie ma możliwości zrobienia tego „z wiersza poleceń” do dowolnego uruchomionego procesu.
Mogę to powiedzieć z pewną pewnością; jedynym „być może” był / proc, a ja się tam przeszukiwałem (dosłownie i przez Google) i wpadłem w ślepy zaułek na wszystko w / proc pozwalające na zmianę EUID. Możesz DOWIEDZ SIĘ, jakie są ustawienia UID i GID w / proc / {pid} / status - ale nie możesz ich zmienić za pomocą czegokolwiek w / proc, przynajmniej o ile wiem.
Ale wystarczy, aby coś takiego działało - sposób na zmianę identyfikatora EUID procesu z wiersza poleceń - jeśli kontrolujesz kod źródłowy procesu, który chcesz zmienić. Możesz zaimplementować procedurę obsługi sygnału dla powiedzmy SIGUSR1 i zlecić procesowi zmianę własnego identyfikatora EUID, jednak potrzebujesz go, gdy odbierze ten sygnał. Następnie wystarczy wysłać proces, który sygnalizuje SIGUSR1, za pomocą polecenia „kill” ... z wiersza polecenia, tak jak prosiłeś ... i zmieni on dla ciebie swój identyfikator EUID.
Być może nie o tym myślałeś, ale ... to odpowiedź na twoje pytanie, jak to zrobić ... i to jedyna odpowiedź, jaką mogę wymyślić.
źródło