Ich wollte Samba als Office 365-Benutzer authentifizieren, daher werde ich als vorläufige Vorbereitung Azure AD für die Linux-Authentifizierung verwenden.
Debian 10.2 Nodejs v10.19.0 (apt) aad-login Office365
Linux-Login mit Azure AD authentifizieren! !!
Grundsätzlich handelt es sich um eine Prozedur der Referenzstelle, aber es gab etwas zu tun + α.
Führen Sie "App-Registrierung" über die Azure-Konsole durch. Name: Leicht verständlicher Name Unterstützte Kontotypen: "Konten, die nur in diesem Organisationsverzeichnis enthalten sind"
Wenn Sie die App registrieren, wird die Anwendung (Client-ID) auf der Übersichtsseite angezeigt. Kopieren Sie sie daher.
Wenn die Manifestseite angezeigt wird, wird das Manifest in JSON angezeigt. Legen Sie daher die folgenden Elemente fest.
"allowPublicClient": true
In meinem Fall wurde der Anfangswert auf null gesetzt.
Wenn Sie diese Einstellung vergessen und authentifiziert sind
AADSTS7000218: The request body must contain the following parameter:
Und die Authentifizierung schlägt fehl.
Der Administrator musste den Berechtigungen durch Öffnen der API-Berechtigungsseite zustimmen. Klicken Sie auf die Schaltfläche "Administrator-Zustimmung zu [Name] erteilen", um die Zustimmung zu erteilen. Es ist in Ordnung, wenn Sie im Statuselement ein grünes Häkchen als "Gegeben an [Name]" setzen.
Wenn Sie diese Einstellung bei der Authentifizierung nicht vornehmen
AADSTS65001: Der Benutzer oder Administrator hat nicht zugestimmt, die Anwendung mit der ID {Client-ID} mit dem Namen '[App-Name]' zu verwenden.
Und die Authentifizierung schlägt fehl.
Dies ist die Arbeit auf der Linux-Serverseite.
bash
sudo apt update
sudo apt install -y nodejs npm git
cd /tmp
git clone https://github.com/bureado/aad-login
cd aad-login/
mkdir -p /opt/aad-login
cp aad-login.js package.json /opt/aad-login/
cp aad-login /usr/local/bin/
cd /opt/aad-login/
npm install
aad-login.js
var directory = '[Office365 Domainname]';
var clientid = '[Anwendungs-ID]';
Wie Sie unter add-login.js sehen können, wird die Domäne, die für die Authentifizierung in office365 verwendet werden kann, im Verzeichnis beschrieben, da "Benutzername +" @ "+ Verzeichnis" als Benutzer-ID authentifiziert ist.
Fügen Sie es am Anfang von common-auth hinzu, wie in git von aad-login beschrieben.
/etc/pam.d/common-auth
~ Ausgelassen ~
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
#↓ Hier hinzufügen ↓
auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login
#↑ Hier hinzufügen ↑
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
~ Ausgelassen ~
Ich musste den Benutzer, den ich authentifizieren wollte, im Voraus hinzufügen. Es wird vor @ hinzugefügt.
#hoge@Für Verzeichnis
useradd hoge
<< Bei Ausführung ohne Hinzufügen eines Benutzers >> Wenn pam_exec.so ausgeführt wird, wird "# 010 # 012 # 015 INCORRECT # 010 # 012 # 015" als Passwort festgelegt und es scheint, dass eine Authentifizierung nicht möglich ist.
Es scheint zu prüfen, ob ein Benutzer vorhanden ist, bevor die Authentifizierung durchgeführt wird. Wenn kein Benutzer vorhanden ist, wird das Kennwort durch das oben genannte ersetzt.
Ich habe das Gefühl, ich kann nichts für den persönlichen Gebrauch tun (゜ ゜)
Bisher habe ich festgestellt, dass sich Samba von der Benutzerverwaltung unterscheidet, und festgestellt, dass der ursprüngliche Zweck nicht erreicht werden konnte ...
Recommended Posts