Image-lokale gebruikers
Gebruikersrecords staan in os.users. Ze maken accounts aan in de image; ze houden geen verband met OpenFactory-websiteaccounts of organisatierollen.
Canonieke vorm
{
"os": {
"users": [
{
"username": "deploy",
"full_name": "Deployment Operator",
"groups": ["sudo"],
"shell": "/bin/bash"
}
]
}
}Ondersteunde velden zijn username, optioneel password, full_name, groups, shell, en een doelspecifiek level voor Elster/Vyatta-images. Oudere voorbeelden met home of comment passen niet bij het canonieke model en kunnen worden genegeerd.
Gebruikers- en groepsnamen zijn beperkt tot veilige Linux-accounttekens en lengte. De shell moet een absoluut pad zijn zonder witruimte of shell-metatekens.
Gedrag van wachtwoorden
Als password niet is ingesteld, ontstaat een met wachtwoord vergrendeld account. Dat is de gewenste receptstatus voor SSH alleen met sleutels, first-boot enrollment of identiteitsintegratie op het moment van deployment.
Als een platte-tekstwachtwoord is opgenomen, wordt het gevoelige buildinput en kan het zichtbaar worden via opgeslagen recepten, logs of exports. Gebruik geen echte productiecredential in een recept. Phone-recepten moeten credentials op het apparaat verzamelen in plaats van ze in de image te bakken.
Voordat u SSH-wachtwoordauthenticatie uitschakelt, controleer of een goedgekeurde public key of een andere toegangsmethode aanwezig en getest is. Anders kan een correct gehard image onbereikbaar zijn.
Groepen en privileges
sudoenwheelkunnen afhankelijk van de distributie administratieve rechten verlenen.dockerverleent vaak root-equivalente controle via de daemon-socket.kvmverleent toegang tot virtualisatieapparaten waar die aanwezig zijn.admkan gevoelige logs blootleggen.
Behandel deze als geprivilegieerde groepen en verleen alleen wat het account nodig heeft. Distributiespecifieke groepsnamen zijn niet overdraagbaar.
Serviceaccounts
Voor een niet-interactief serviceaccount kiest u een no-login shell die op het doel beschikbaar is en laat u administratieve groepen weg. Controleer of generator en service unit de bedoelde identiteit behouden; een receptdefault kan sudo toevoegen als groups ontbreekt, dus geef waar nodig een expliciete lege groepslijst op.
Verificatie
Test de exacte eigenschappen die ertoe doen:
- account bestaat met het verwachte UID-bereik;
- primaire en bijkomende groepen kloppen;
- login shell en wachtwoordvergrendelingsstatus kloppen;
- home en bestandseigendom, indien elders gegenereerd, kloppen;
- ongeautoriseerde sudo- en servicetoegang worden geweigerd; en
- het goedgekeurde login- of enrollmentpad slaagt.
Leid least privilege niet alleen af uit het aanmaken van het account.