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
sudoiwheelmogą przyznawać uprawnienia administracyjne w zależności od dystrybucji.dockerczęsto daje kontrolę równoważną rootowi przez gniazdo demona.kvmdaje dostęp do urządzeń wirtualizacji, tam gdzie występują.admmoż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.