====== Start und Login ohne Paßwortabfrage ======
Für Administrationszugriffe müssen sich Administratoren in efa aus Sicherheitsgründen immer mittels Eingabe eines Paßworts authorisieren. Dies gilt sowohl für den Start von efa-Basis, das Aufrufen des Admin-Modus in efa-Bootshaus als auch die Benutzung von [[access_cli|efaCLI]].
Für eine private Installation zu Hause oder die Automatisierung von Aufgaben mittels efaCLI kann es wünschenswert sein, diese Paßwortabfrage zu unterbinden.
===== Credentials-Datei =====
==== Ablageort ====
Paßwörter können in einer sogenannten //Credentials-Datei// hinterlegt werden. Diese muß den Namen ''.efacred'' haben und im Heimatverzeichnis des Betriebssystembenutzers liegen.
Unter Windows lautet das Heimatverzeichnis oft ''C:\Dokumente & Einstellungen\benutzername'' (Windwos XP), oder ''c:\users\benutzername'' (Windwos 11) unter Linux ''/home/benutzername'' (wobei //benutzername// der Benutzername des Betriebssystembenutzers ist).
==== Aufbau und Inhalt der .efacred Datei ====
In der Datei können beliebig viele Administratoren mit ihren jeweiligen Paßwörtern aufgelistet werden, jeweils ein Eintrag pro Zeile, wobei Admin-Name und Paßwort durch ein Leerzeichen getrennt werden.
Wenn ein in dieser Datei gelisteter Admin sich in efa-Basis, efa-Bootshaus, oder efaCLI anmeldet, entfällt die Paßwortabfrage.
Standard-Administrator / Auto-Login für efaBths und efaBase
Es kann auch die Namensabfrage für einen Admin entfallen (z.B. in efaBase, efaBootshaus Login Dialogen).
Dazu muss ein + (Plus-Zeichen) vor den Namen eines Administrators gestellt werden.
Es darf maximal ein Administrator mit einem Plus-Zeichen markiert werden.
Sind mehrere Administratoren mit einem + Zeichen versehen, wird der erste verwendet.
Jeder admin darf nur einmal enthalten sein.
Die Datei ''.efacred'' kann beispielsweise folgende Form haben:
# .efacred Datei mit Kommentarzeile
# die .efacred Datei darf keine Dateiendung (.txt) haben!
# jeder Admin darf nur einmal aufgeführt sein.
# nur eine Zeile darf mit + beginnen (und definiert damit den Standard-Admin für Autologin
# in efaBase und efaBths.
+admin geheim
efalive jsdglkjfd
cli pwd4cli
Beim Aufruf von efa-Basis sowie des Admin-Modus von efa-Bootshaus würde der Admin //admin// automatisch angemeldet. Darüberhinaus können sich die Administratoren //efalive// und //cli// ohne Angabe eines Paßworts über das efaCLI anmelden.
==== Weitere Eigenschaften der .efacred Datei: ====
* UTF-8 Kodiert\\ Das ist unter Windows 11 und Linux inzwischen Standard.
* Darf keine Dateiendung haben\\ Insbesondere wenn man unter Windows mit dem Standard-Editor (Notepad) die Datei erstellt, muss man arkribisch darauf achten, dass keine .txt Dateiendung angehängt wird. Der Windows Explorer zeigt die Dateiendung bekannter Dateiformate standardmäßig auch nicht an: im Zweifelsfall befindet sich eine .efacred.txt Datei im User-Verzeichnis, statt wie erwartet eine .efacred (ohne Dateiendung).
* # am Anfang einer Zeile ermöglicht Kommentare
* Leerzeilen werden ignoriert
* Erst ab EFA 2.5.3#16 werden Tabulatoren oder doppelte Leerzeichen als Trennzeichen entfernt.
==== Debugging ====
Wenn efa sich trotz vorhandener .efacred Datei sich nicht erwartungsgemäß verhält beim Login von Admins, kann man ab efa 2.5.3#16 Debug-Ausgaben aktivieren:
Konfiguration > Allgemein > (Expertenmodus an)\\
* Debug Logging aktivieren
* Trace-Topic 801\\ (Exceptions + efaCred Logging)
* Debug-Level 5
===== Start von efa-Basis ohne Paßwortabfrage =====
efa-Basis erfordert bei jedem Start den Login eines Administrators mit Paßwort. Auf einem Heimrechner kann der Login automatisiert werden, so daß kein Login mehr erforderlich ist:
* Erstelle im Heimatverzeichnis des Betriebssystembenutzers, unter dem efa ausgeführt wird, eine Textdatei mit Namen ''.efacred''\\ Wichtig: den Punkt am Anfang beachten. Die Datei darf keine Dateiendung (z.B. .txt) haben.\\ Ablageort im User-Verzeichnis (siehe [[config_nopassword#Ablageort|Ablageort auf dieser Seite]])
* Trage in dieser Datei ein einzige Zeile ein, bestehend aus einem Plus-Zeichen, direkt gefolgt (ohne Leerzeichen) von dem Namen des Administrators, für den der automatische Login erfolgen soll, gefolgt von einem Leerzeichen und dem Paßwort des Administrators. Für den Administrator //admin// und das Paßwort //geheim// würde die Datei folgenden Inhalt haben: +admin geheim
**Achtung:** Die .efacred Datei wird von efaBase und efaBths gleichermaßen genutzt.
Ist auf einer efaBths-installation ein Default-Admin hinterlegt, unterbleibt beim Aufruf des Admin-Modus die Abfrage von Benutzername und Passwort - jeder Nutzer hat dann Vollzugriff auf Daten und Konfiguration.
Daher sollte der automatische Login von Administratoren aus Sicherheitsgründen nicht auf einer Bootshaus-Installation aktiviert werden!
===== Automatisierung mittels efaCLI ohne Paßwortabfrage =====
efaCLI ermöglicht die Automatisierung von Aufgaben, wie z.B. dem regelmäßigen Erstellen von Backups. Für die Verwendung in Skripten kann die interaktive Abfrage eines Paßworts beim Login unterbunden werden, indem das Paßwort in einer Credentials-Datei hinterlegt wird:
* Erstelle im Heimatverzeichnis des Betriebssystembenutzers, unter dem efa ausgeführt wird, eine Textdatei mit Namen ''.efacred'' (den Punkt am Anfang beachten!).\\ Unter Windows lautet das Heimatverzeichnis oft ''C:\Dokumente & Einstellungen\benutzername'', unter Linux ''/home/benutzername'' (wobei //benutzername// der Benutzername des Betriebssystembenutzers ist)
* Trage in dieser Datei für jeden Admin, für den die Paßwortabfrage automatisiert werden soll, eine Zeile ein, bestehend aus dem Namen des Administrators, gefolgt von einem Leerzeichen und dem Paßwort des Administrators. Für den Administrator //admin// und das Paßwort //geheim// würde die Zeile folgenden Inhalt haben: admin geheim
===== Hinweis zu Windows =====
Falls Windows sich weigert, eine Datei mit Namen ''.efacred'' anzulegen, gehe wie folgt vor:
* In Windows unter //Start - Ausführen//, gib den Befehl ''cmd'' ein und klicke //Öffnen//.\\ Ein schwarzes Fenster mit einer Eingabeaufforderung sollte erscheinen. In der aktuellen Zeile sollte bereits dein Windows-Benutzerverzeichnis stehen.
* Gibt hier folgenden Befehl, gefolgt von Enter ein (in exakt dieser Schreibweise, und ersetze //passwort// durch dein admin-Paßwort): echo +admin passwort > .efacred
* Jetzt sollte die Datei ''.efacred'' vorhanden sein und eine Zeile ''+admin passwort'' enthalten. Die Datei kann anschließend auch mit einem Texteditor bearbeitet werden.