Während es wahrscheinlich keinen Sinn macht, die /etc/passwd
und /etc/shadow
-Dateien umzubenennen , sollten Sie sich, wenn Sie zusätzliche Sicherheit wünschen, PAM (steckbare Authentifizierungsmodule) und NSS (Name Service Switch) ansehen. Wie hier.
Mit PAM können Authentifizierungsmodule hinzugefügt werden, die ihre Authentifizierungsinformationen nicht aus den Standarddateien, sondern aus einer anderen Quelle wie ldap oder einer Datenbank lesen. Die Verwendung würde bedeuten, dass die /etc/shadow
Dose fast vollständig beseitigt werden kann.
NSS ergänzt PAM, indem ein Teil der Namensauflösung (z. B. zu welchen Gruppen dieser Benutzer gehört) von den Standarddateien ( /etc/passwd
, /etc/groups
) unabhängig gemacht wird . Die Verwendung würde bedeuten, dass Ihre passwd-Datei möglicherweise nur eine Fallback-Option für root enthält und nicht mehr. Die Verwendung von SSH-Schlüsseln zur Überprüfung der Root-Anmeldung würde auch die Notwendigkeit beseitigen, ein Root-Passwort in der Schattendatei zu haben (obwohl dies möglicherweise erwünscht ist, wenn die SSH-Verbindung unterbrochen wird).
Wenn Sie Ihre Benutzer nicht über eine separate Datenbank oder einen separaten LDAP-Host authentifizieren möchten, können Sie alternativ auch eigene PAM- und NSS-Module erstellen, die ihre Daten aus einer nicht standardmäßigen Datei lesen, obwohl ich diese Option nicht empfehlen würde.
Wenn Sie versuchen möchten, sie zu verwenden, vergessen Sie niemals, eine Art Fallback auf eine bekannte, funktionierende Authentifizierungsschicht beizubehalten, da Sie sich sonst selbst mit root vom System ausschließen können.
Beachten Sie, dass nicht alle Anwendungen PAM unterstützen (viele von ihnen jedoch). NSS kann jedoch verwendet werden, um die Authentifizierung für Apps zu implementieren, die PAM nicht unterstützen, und einige Websites, die ich über NSS gelesen habe, schlagen diesen Ansatz tatsächlich vor. Dies bedeutet jedoch, dass das NSS-Modul jedem, der auf die NSS-Authentifizierungsschicht zugreifen kann, das (möglicherweise) gehashte Kennwort zur Verfügung stellt. Dies ist fast immer etwas, das Sie vermeiden möchten (im Grunde ist es dasselbe, als würden Sie der Shadow-Datei einen Lesezugriff ohne Rootberechtigung gewähren )! Wenn Sie diesen Ansatz wählen, stellen Sie immer sicher, dass NSS nur verwendet wird, um dem Benutzer die Basisdaten (wie den Inhalt von /etc/passwd
) bereitzustellen , und PAM als Authentifizierungsschicht verwendet wird.