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.