Podnoszenie uprawnień za pomocą become
Wykonuj zadania jako root przy użyciu sudo.
Podnoszenie uprawnień za pomocą become to bezpłatna lekcja Ansible Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ansible Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Niektóre zadania wymagają uprawnień root
Instalowanie pakietów lub ponowne uruchamianie usług zwykle wymaga uprawnień root. Ansible obsługuje to za pomocą eskalacji uprawnień, a nie oddzielnego logowania jako root. 🔐
Włącz ją za pomocą become
Dodanie flagi --become, często skracanej do -b, uruchamia polecenie ad hoc ze zwiększonymi uprawnieniami na hoście zdalnym.
ansible all -b -m package -a "name=git state=present"sudo jest domyślną metodą
Domyślnie become używa sudo do eskalacji uprawnień. Działa to w większości systemów Linux bez dodatkowej konfiguracji.
ansible web -b -m service -a "name=nginx state=restarted"Domyślnie uzyskaj uprawnienia root
Podczas eskalacji Ansible przełącza się na użytkownika root, chyba że zostanie wskazane inaczej. Jest to właściwy cel dla większości zadań administracyjnych.
Zmień użytkownika za pomocą become_user
Opcja --become-user pozwala przełączyć się na użytkownika innego niż root, na przykład wdrażać pliki jako konto postgres lub deploy.
ansible db -b --become-user postgres -m command -a "psql -c '\\l'"Wybierz metodę
Flaga --become-method określa sposób eskalacji, na przykład sudo, su lub doas, zależnie od tego, na co pozwalają hosty.
ansible all -b --become-method su -m pingPoproś o hasło sudo
Jeśli sudo wymaga hasła, należy dodać --ask-become-pass, często zapisywane jako -K. Ansible poprosi wtedy o hasło raz przed uruchomieniem.
ansible all -b -K -m package -a "name=vim state=present"Trzy elementy do zapamiętania
Eskalacja ma trzy ustawienia: become ją włącza, become_user określa użytkownika, a become_method sposób działania. Razem obsługują dowolny host.
Te same klucze w playbookach
Te flagi odpowiadają dyrektywom: become: true, become_user i become_method, których później będzie można używać w playbookach.
become: trueNajpierw połącz się, potem eskaluj
Ansible najpierw loguje się jako użytkownik SSH, a następnie eskaluje uprawnienia na hoście. To dwa osobne etapy, których nie należy mylić.
ansible web -u deploy -b -m pingEskaluj tylko wtedy, gdy to konieczne
W przypadku zadań tylko do odczytu, takich jak ping lub zbieranie faktów, należy pominąć become. Należy używać go wyłącznie przy działaniach rzeczywiście wymagających zwiększonych uprawnień.
Szybkie sprawdzenie
Jaka jest domyślna metoda eskalacji podczas używania become?
Podsumowanie
Można już bezpiecznie uzyskiwać uprawnienia root: become włącza eskalację, become_user określa użytkownika docelowego, a -K wyświetla prośbę o hasło. 🔐
Często zadawane pytania
Czy lekcja „Podnoszenie uprawnień za pomocą become” jest bezpłatna?
Tak — pełny tekst „Podnoszenie uprawnień za pomocą become” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ansible Academy, przejdź na CoddyKit PRO. Kurs Ansible Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podnoszenie uprawnień za pomocą become”?
Wykonuj zadania jako root przy użyciu sudo. Ćwiczysz Ansible Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Ansible Academy?
Nie wymagamy żadnego doświadczenia. Ansible Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Podnoszenie uprawnień za pomocą become”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Ansible Academy?
Tak. Każda lekcja Ansible Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Anatomia polecenia ansible
- Wzorce: wybieranie wszystkich hostów, web i host1
- Uruchamianie poleceń powłoki za pomocą command i shell
- Podnoszenie uprawnień za pomocą become