Jak mogę zachować spójność kont użytkowników na wielu komputerach?


16

Mam teraz Raspberry Pi, który obsługuje Debian Wheezy. Mam tu kilka maszyn (4 fizyczne, 2 wirtualne) i chciałbym ujednolicić konta użytkowników na tych komputerach.

Na moich komputerach są zainstalowane następujące pochodne Debiana:

  • Debian Wheezy (armhf)
  • Debian Stable (amd64)
  • Debian Unstable (amd64)
  • Ubuntu 14.04 (amd64)

Jak mogę skonfigurować konta użytkowników na wszystkich komputerach jednakowo? Chcę, aby nazwa, długa nazwa, hasło i identyfikator użytkownika były spójne.

Być może w przyszłości chciałbym ujednolicić inne części konfiguracji

  • HTCondor
  • Mountpoints (Samba)
  • /etc/apt/sources.list
  • Aktualizacje nienadzorowane

Ponieważ używam różnych wariantów Ubuntu i Debian, sources.listbędą się one nieco różnić, ale będą takie same dla każdej dystrybucji.

Jakie byłoby na to dobre podejście?


1
Powinieneś skonfigurować wszystkich użytkowników jako ldapużytkowników.
Ramesh,

1
@Ramesh Czy to oznaczałoby, że użytkownicy mogą się logować tylko wtedy, gdy istnieje połączenie sieciowe?
Martin Ueding

Tak. Do pracy może być potrzebne połączenie sieciowe ldap. Ale oszczędza ci to bólu podczas konfigurowania użytkowników na wszystkich komputerach.
Ramesh,

Czy istnieje jedna maszyna, która jest zawsze włączona i dostępna przez sieć? Czy jest jedno urządzenie, które jest zawsze włączone i dostępne, gdy chcesz zmienić hasło?
Gilles „SO- przestań być zły”

1
@ramesh Możesz mieć LDAP offline używając SSSD .
Patrick,

Odpowiedzi:


14

Zasadniczo masz 2 opcje.

  1. Użyj lokalnego systemu uwierzytelniania na każdym komputerze i wypchnij zmiany poświadczeń na wszystkie z nich.
  2. Użyj scentralizowanego serwera uwierzytelniającego.

1. Zsynchronizowane uwierzytelnianie lokalne

Istnieje wiele produktów, które łatwo to osiągają. Puppet , Chef , Ansible i Salt to tylko niektóre z bardziej popularnych. Wszystkie te narzędzia należą do tak zwanego „ zarządzania konfiguracją ”.

Zasadniczo miałbyś repozytorium, w którym definiujesz swoje poświadczenia uwierzytelniania jako kod. „Kod” byłby tak prosty jak dyrektywa, która określa nazwę użytkownika i hashowane hasło. Następnie zsynchronizuj ten kod ze wszystkimi swoimi maszynami i uruchom dowolne wybrane narzędzie CM. Narzędzie CM zaktualizuje następnie lokalne dane uwierzytelniające każdego użytkownika (w razie potrzeby również utworzy użytkownika).

Ponieważ powiedziałeś, że chcesz wykonać również inne typy konfiguracji, może to być bardziej odpowiednie rozwiązanie.

2. Scentralizowane uwierzytelnianie

Najpopularniejszą formą scentralizowanego uwierzytelniania jest LDAP. Uruchamianie serwera LDAP może wydawać się zniechęcające, ale istnieją pewne dobre, spakowane rozwiązania, takie jak FreeIPA, które ułatwiają zarządzanie nim.

Jedną z twoich pierwszych myśli może być: „Chcę, aby uwierzytelnianie działało, nawet jeśli serwer centralny jest wyłączony”. Można to łatwo osiągnąć za pomocą SSSD . Gdy użytkownik po raz pierwszy loguje się na serwerze, SSSD konsultuje się z LDAP (lub Kerberos, jeśli jest stosowany), a jeśli poświadczenia są prawidłowe, buforuje je na komputerze lokalnym. Jeśli serwer LDAP nie jest dostępny, wraca do korzystania z pamięci podręcznej. Tak więc, dopóki użytkownik zaloguje się raz, będzie mógł kontynuować logowanie, jeśli LDAP jest niedostępny.

3. Połączenie tych dwóch

Możesz także użyć kombinacji dwóch rozwiązań. Jest to bardzo powszechne w dużych środowiskach korporacyjnych, ale można je również stosować na małą skalę. Zasadniczo miałbyś scentralizowany serwer uwierzytelniający i użyłbyś narzędzia CM do skonfigurowania klientów do korzystania z niego.


Dziękuję bardzo, to powinno dać mi wystarczająco dużo punktów początkowych! :-)
Martin Ueding
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.