Ważną czynnością administracyjną w systemach operacyjnych jest konfiguracja użytkowników.


ŹRÓDŁO W instalacjach systemu Guix konfiguracja użytkownika polega na definicji zbioru pól gnu:system:accounts:user-account.

Definicja minimalna

Zbiór pól konfigurujący użytkowników zawiera kilka obowiązkowych pól, które zawsze muszą być podane w definicji użytkownika. Przy podaniu pustego zbioru gnu:system:accounts:user-account otrzymuję następujący błąd przetwarzania:

$ reconfigure-system -L .
Hasło:
guix system: błąd: failed to evaluate expression '(@ (deployment systems cokolwiek) operating-system*)':
guix system: błąd: błąd składni: missing field initializers (name group)

Oznacza to, że ten zbiór pól wymaga podania pól name i group. Pierwsze pole jest systemową nazwą użytkownika, a drugie określa podstawową grupę tego użytkownika.

(define-public uid1001-account
  (gnu:system:accounts:user-account
    (name  "nazwa")
    (group "users")))

Wstępne hasło użytkownika

Dobrze jest poza technicznie minimalną definicją użytkownika również ustalić wstępne hasło. Pozwoli to użytkownikowi zalogować się na swoje konto bez dalszej ingerencji administratora.

Wstępne hasło jest już zdefiniowane w odrębnym module. Wystarczy jest zaimportować.

(define-public uid1001-account
  (gnu:system:accounts:user-account
    (name     "nazwa")
    (password deployment:users:initial-password)
    (group    "users")))

ŹRÓDŁO Ta konfiguracja działa i udowadnia również, że wstępne hasło działa według zamierzeń.

DO ZROBIENIA Zauważyłem natomiast poważny problem który wymaga względnie szybkiego rozwiązania. Domyślnie, konto użytkownika nie otrzymuje tak zwanego szkieletu katalogów. Katalog domowy jest przez to pusty i niegotowy do użytku przez nieprzeszkolonego użytkownika.