Skip to Content
Building OsUżytkownicy lokalni w obrazie

Użytkownicy lokalni w obrazie

Rekordy użytkowników znajdują się w os.users. Tworzą konta w obrazie; nie mają związku z kontami na stronie OpenFactory ani rolami w organizacji.

Kanoniczny kształt

{ "os": { "users": [ { "username": "deploy", "full_name": "Deployment Operator", "groups": ["sudo"], "shell": "/bin/bash" } ] } }

Obsługiwane pola to username, opcjonalne password, full_name, groups, shell oraz specyficzne dla celu level używane w obrazach Elster/Vyatta. Starsze przykłady z home lub comment nie pasują do kanonicznego modelu i mogą być ignorowane.

Nazwy użytkowników i grup są ograniczone do bezpiecznych znaków kont Linux i długości. Shell musi być ścieżką bezwzględną bez białych znaków i metaznaków powłoki.

Zachowanie hasła

Pozostawienie password nieskonfigurowanego tworzy konto zablokowane hasłem. To preferowany stan przepisu dla SSH tylko z kluczem, rejestracji przy pierwszym uruchomieniu lub integracji tożsamości w czasie wdrożenia.

Jeśli dołączysz hasło w postaci jawnej, staje się wrażliwym wejściem buildu i może ujawnić się w zapisanych przepisach, logach lub eksportach. Nie używaj prawdziwych poświadczeń produkcyjnych w przepisie. Przepisy Phone muszą zbierać poświadczenia na urządzeniu zamiast wbijać je w obraz.

Przed wyłączeniem uwierzytelniania hasłem SSH potwierdź, że zatwierdzony klucz publiczny lub inna metoda dostępu jest obecna i przetestowana. W przeciwnym razie poprawnie utwardzony obraz może być niedostępny.

Grupy i uprawnienia

  • sudo i wheel mogą przyznawać uprawnienia administracyjne w zależności od dystrybucji.
  • docker często daje kontrolę równoważną rootowi przez gniazdo demona.
  • kvm daje dostęp do urządzeń wirtualizacji, tam gdzie występują.
  • adm może ujawniać wrażliwe logi.

Traktuj je jako grupy uprzywilejowane i nadawaj tylko to, czego konto potrzebuje. Nazwy grup specyficzne dla dystrybucji nie są przenośne.

Konta usługowe

Dla nieinteraktywnego konta usługowego wybierz shell no-login dostępny na celu i pomiń grupy administracyjne. Potwierdź, że generator i jednostka usługi zachowują zamierzoną tożsamość; domyślna wartość przepisu może dodać sudo, gdy groups jest pominięte, więc podaj jawny pusty list grup tam, gdzie to stosowne.

Weryfikacja

Przetestuj dokładnie te właściwości, które mają znaczenie:

  • konto istnieje w oczekiwanym zakresie UID;
  • grupy podstawowe i uzupełniające są poprawne;
  • shell logowania i stan blokady hasła są poprawne;
  • katalog domowy i własność plików, jeśli generowane gdzie indziej, są poprawne;
  • nieautoryzowany sudo i dostęp do usługi są odrzucane; oraz
  • zatwierdzona ścieżka logowania lub rejestracji kończy się sukcesem.

Nie wnioskuj least privilege wyłącznie z utworzenia konta.