Blog
Jak z dostępem do polecenia docker dodać sobie sudo?
Przypuśćmy hipotetyczną sytuację, w której admini dają ci dostep do polecenia docker, ale już nie do sudo lub innych ważnych zasobów, bez których Twoja aplikacja nie może działać poprawnie. W ubuntu dane na temat uprawnień sudo są przechowywane w pliku /etc/sudoers i jego będziemy modyfikować.
Domyślnie należy on do użytkownika root, więc go nie zmienisz.
Podmontuj katalog /etc hosta do kontenera. W katalogu /tmp/etc będzie interesujący cię plik
docker run --rm -it -v /etc:/tmp/etc ubuntu:latest bash
Zrób backup pliku /etc/sudoers tak aby gdy coś pójdzie nie tak, moglibyśmy się niezauważenie wycofać
cp /tmp/etc/sudoers /tmp/etc/sudoers.bak
Zmień w poniższym polecenie nazwę uzytkownika na swoją
echo "your-username ALL=(ALL) ALL" >> /etc/sudoers
Zaloguj się ponownie na maszynę i zróbym coś co do tej pory mógł tylko root, na przykład po wykonaniu poniższego polecenia system zapyta cię o hasło i utworzy plik
sudo touch /etc/test.txt
Oczywiście masz większe pole do popisu, takie jak modyfikacja użytkowników, grup etc.