Podczas rozmowy kwalifikacyjnej miałem pytanie:
Jak możesz uruchomić (uruchomić) program z użytkownikiem
user1
bezsudo
uprawnień i bez dostępu doroot
konta:$ whoami user1 $ ls -l ~/binary_program -rw-r--r-- 1 root root 126160 Jan 17 18:57 /home/user1/binary_program
permissions
executable
inivanoff1
źródło
źródło
bash
skrypty powłoki POSIX, jeślibash
są wywoływane jako interpreter.Możesz użyć dynamicznego linkera / modułu ładującego systemu Linux bezpośrednio do uruchomienia plików wykonywalnych ELF, o których przeczytałeś, ale nie możesz wykonać uprawnień:
Gdy plik wykonywalny ELF jest wykonywany normalnie, wykorzystywany jest dynamiczny linker, który jest przechowywany w
.interp
sekcji kodu programu. Powody bezpośredniego wywoływania dynamicznego linkera (poza rozmowami kwalifikacyjnymi) obejmują przekazanie mu opcji wiersza poleceń w celu zmodyfikowania jego zachowania.Zauważ, że faktyczna lokalizacja dynamicznego linkera może bardzo zależeć od środowiska, na przykład w 64-bitowym Ubuntu, w którym linker jest
/lib64/ld-linux-x86-64.so.2
.źródło