vnode.ypserver

Ansible-Rolle: ypserver

CI

Diese Rolle installiert und konfiguriert den YP/NIS-Server, der Teil von OpenBSD und anderen BSD*-Betriebssystemen ist. Aktuell unterstützt diese Rolle nur OpenBSD, mit der Absicht, FreeBSD und NetBSD in einem zukünftigen Update hinzuzufügen.

Wo zutreffend, verweist diese Rolle auf die Systemdokumentation, z.B. auf die yp(8) man-Seite.

Anforderungen

Betrieb

Es sind keine externen Rollen und/oder Module erforderlich, um diese Rolle zu verwenden.

Testen & Entwicklung

Für das Testen und die Entwicklung benötigt diese Rolle die folgenden externen Tools:

  • Vagrant (unterstützt entweder den VirtualBox- oder VMWare-Anbieter)
  • VagrantCloud (insbesondere die Box generic/openbsd6)

Rollen-Variablen

Verfügbare Variablen sind unten aufgeführt, einschließlich ihrer Standardwerte (siehe defaults/main.yml). Alle diese sollten implementiert werden. Wenn Sie feststellen, dass dies nicht der Fall ist, bitte ein Problem melden im GitHub-Repository.

Erforderliche Variablen

Die folgenden Variablen müssen bei der Verwendung der Rolle gesetzt werden.

ypserver_domain: ""

Erforderlich, muss einen gültigen NIS-Domainnamen haben. Dies ist der Name der NIS-Domain, die Sie konfigurieren möchten.

ypserver_master: ""

Erforderlich, muss einen erreichbaren NIS-Master-Server für die Domain auflisten.

ypserver_servers: []

Erforderlich, muss die Menge der NIS-Server für die Domain auflisten. Diese Liste muss auch den ypserver_master Server enthalten. Hinweis: Wenn Sie nur Slave-Server (gegen einen bereits vorhandenen Master) einrichten möchten, stellen Sie sicher, dass der Master nicht Teil der Hostgruppe ist, auf die Sie diese Rolle anwenden.

ypserver_serverinfo: {}

Erforderlich, kann aber leer sein, wenn die NIS-Server für die Domain in DNS oder /etc/hosts gefunden werden können.

Wenn nicht leer, listet dieses Dictionary IPv4- und/oder IPv6-Adressen für die Server der Domain auf. Die Rolle füllt dann /etc/hosts mit den erforderlichen Zeilen aus. Wenn Server nicht erreicht oder aufgelöst werden können, bleibt der NIS-Code hängen. Weitere Einzelheiten finden Sie unter yp(8).

Das folgende Beispiel listet Adressen für die master und slave Server in einem Dual-Stack-Netzwerk auf.

ypserver_serverinfo:
  master:
    - "192.0.2.1"
    - "2001:db8::111:1"
  slave:
    - "192.0.2.2"
    - "2001:db8::111:2"
ypserver_ypservacl: {}

Erforderlich, wenn ypserver_set_ypserveracl gesetzt ist. Dieses Dictionary listet die Regeln für die ypserv.acl(5) Datei. Diese ACL-Datei erlaubt es, den Zugriff auf den YP/NIS-Server auf geeignete Netzwerkbereiche zu beschränken. Wenn ypserver_set_ypserveracl nicht gesetzt ist, wird diese Variable stattdessen eine securenet(5) Datei erstellen, die ein eingeschränkteres Format hat. Bitte stellen Sie sicher, dass Ihre Regeln diese Einschränkungen berücksichtigen, indem Sie die entsprechenden man-Seiten überprüfen.

Stellen Sie sicher, dass Sie Ihre Slave-Server sowie Clients, die auf YP/NIS zugreifen müssen, einbeziehen. Zum Beispiel, wenn Sie Ihren lokalen Host, den einen Slave-Server slave und die 192.0.2.0/24 Netz-Clients zulassen möchten, verwenden Sie:

ypserver_ypservacl:
  - action: allow
    type: host
    host: "localhost"
  - action: allow
    type: host
    host: "master"
  - action: allow
    type: host
    host: "192.0.2.2"
    tag: "slave"
  - action: allow
    type: net
    host: "192.0.2.0"
    mask: "255.255.255.0"
    tag: "Clients"
  - action: deny
    type: all

Optionale Variablen

ypserver_usedns: true

Gibt an, dass die YP/NIS-Karten DNS zur Suche von Hostnamen verwenden können. Es wird empfohlen, dies auf true zu belassen. Wenn auf false gesetzt, stellen Sie sicher, dass ypserver_serverinfo und/oder ypserver_set_hosts korrekt gesetzt sind, damit Ihre NIS-Server aufgelöst werden können.

ypserver_unsecure: false

Es wird empfohlen, dies auf false zu belassen, wenn nur OpenBSD oder FreeBSD-Clients bedient werden.

Wenn auf true gesetzt, enthalten die passwd Karten (verschlüsselte) Passwort-Einträge. Wenn alle Ihre YP/NIS /Clients/ OpenBSD oder FreeBSD ausführen, können Sie diese Variable sicher auf false setzen. Weitere Informationen finden Sie in den OpenBSD FAQ. Bitte beachten Sie, dass diese Einstellung wenig zur Lösung der inherent Unsicherheit von NIS beiträgt.

ypserver_nopush: false

Es wird empfohlen, dies auf true zu belassen, es sei denn, Sie benötigen spezifische Maßnahmen zur Aktualisierung der Karten auf Slave-Servern.

Wenn auf true gesetzt, werden aktualisierte Karten auf dem Master nicht automatisch an die Slave-Server übertragen. In diesem Fall müssen Sie die Aktualisierungen auf den Slave-Servern anders organisieren (z.B. mit Cron-Jobs oder rsync).

ypserver_source_dir: '/etc'

Das Quellverzeichnis für die von der NIS-Domain bereitgestellten Karten. Dieses Verzeichnis muss auf dem Master-Server vorhanden sein und die in der Variable ypserver_source_maps referenzierten Dateien enthalten.

ypserver_source_maps:
  passwd: 'master.passwd'
  group: 'group'

Dieses Dictionary listet, welche Karten der NIS-Domain-Master den Clients bereitstellt und deren Quelldateien. Diese Dateien müssen im Verzeichnis ypserver_source_dir auf dem Master vorhanden sein. Für andere unterstützte Karten siehe Makefile.yp(8).

ypserver_passwd_minuid:  1000
ypserver_passwd_maxuid: 32765
ypserver_group_mingid:   1000
ypserver_group_maxgid:  32765

Diese Variablen geben die unteren/oberen Grenzen von Benutzernamen und Gruppen an, die in die NIS-Karten aufgenommen werden sollen. Dies verhindert das Leaken von Systemkonten in die Karten.

Variablen zur Unterstützung mehrerer YP/NIS-Domains auf einem Server

Diese Variable ist dazu gedacht, das Hosting mehrerer NIS-Domains auf einem Server zu ermöglichen. Dies war nicht der ursprünglich vorgesehene Anwendungsfall, also melden Sie bitte Probleme als Issue auf GitHub.

ypserver_set_domainname: true

Es wird empfohlen, dies auf true zu belassen für die Domain, die als Ihr 'Haupt'- (Standard-) Domainname vorgesehen ist. Muss auf false gesetzt werden für andere NIS-Domains, die Sie auf demselben Server hosten möchten.

Zusätzliche Einstellungen

Diese Variablen sind nicht erforderlich für Rollenausführungen und ihre Standardwerte sollten in Ordnung sein.

ypserver_set_hosts: false

Wenn auf true gesetzt, fügt die Rolle die IP-Informationen für die NIS-Server zur Datei /etc/hosts hinzu. Dies ist typischerweise nützlich, wenn die Domain keine DNS-Suchen verwendet (wenn ypserver_usedns auf false gesetzt ist). Beachten Sie, dass dies IP-Informationen für jeden NIS-Server in der Variable ypserver_serverinfo erfordert.

ypserver_set_yppasswdd: false

Aktiviert den yppasswd-Dienst, um Benutzern auf dem Master-Server das Ändern ihres Passworts in den NIS-Karten zu ermöglichen. Beachten Sie, dass neuere Versionen von OpenBSD (ab 5.9) diese Funktionalität nicht mehr enthalten.

ypserver_set_ypservacl: false

Erstellt eine ACL-Datei /var/yp/ypserv.acl gemäß der ypserv.acl(5) Datei anstelle der securenet(5) Datei. Diese ACL-Datei ermöglicht es, den Zugriff auf den YP/NIS-Server auf geeignete Netzwerkbereiche zu beschränken. Erfordert, dass die Variable ypserver_ypservacl entsprechend gesetzt ist.

ypserver_set_cronjob: true

Es wird empfohlen, dies auf true zu belassen, es sei denn, Sie benötigen/ wünschen andere Vereinbarungen als die von der Rolle getroffenen. richtet einen regelmäßigen Cron-Job für Kartenaktualisierungen in der Domain ein und überprüft fehlende Karten auf Slave-Servern.

Jobname Intervall Hinweis(e)
Aktualisierung der YP-Domain ypserver_ypdomain Alle 15 Minuten Auf dem Master-Server
Aktualisierung der YP-Domain ypserver_ypdomain Jede Stunde um :05 Auf den Slave-Servern

Interne Variablen

Diese Variablen werden intern in der Rolle verwendet und sind nicht zur Benutzeränderung vorgesehen. Ändern Sie diese auf eigene Gefahr. Typischerweise entsprechen sie hartkodierten Werten im zugrunde liegenden Betriebssystem.

ypserver_ypdbdir: '/var/yp'
ypserver_ypdbdir_domain: "{{ ypserver_ypdbdir }}/{{ ypserver_domain }}"
ypserver_securenet: "{{ ypserver_ypdbdir }}/securenet"

Abhängigkeiten

Keine.

Beispiel-Playbook

Im Folgenden ein Beispiel zur Erstellung einer einfachen YP/NIS-Domain mit zwei Servern, master und slave. Die Domain heißt legacy. Die Quelldateien für die Karten befinden sich in /etc/legacy.

---
- hosts: ypservers
  roles:
    - role: vnode.ypserver
      vars:
        ypserver_ypdomain: legacy
        ypserver_master: master
        ypserver_servers: "{{ groups['ypservers'] }}"
        ypserver_source_dir: "/etc/{{ ypserver_domain }}"

Lizenz

MIT

Autorinformationen

Diese Rolle wurde 2020 von Rogier Krieger erstellt.

Über das Projekt

Install and configure a YP/NIS server

Installieren
ansible-galaxy install vnode.ypserver
GitHub Repository
Lizenz
mit
Downloads
212
Besitzer