
Ich bin gerade auf ein interessantes Problem gestoßen. Wenn ich unter Arch Linux einen Benutzer erstelle, der eine Shell von verwendet, /usr/bin
kann er sich nicht anmelden. Ich erstelle den Benutzer mit:
useradd -m -G wheel -s /usr/bin/bash username
und wenn sie versuchen, sich anzumelden, erhalten sie die Meldung „Anmeldung falsch“. Aber wenn ich /etc/passwd
die Shell bearbeite und ändere /bin/bash
, funktioniert alles einwandfrei.
Irgendwelche Ideen, was hier los ist? Danke!
Antwort1
Als dieArch Wiki macht deutlich:
Achtung: Um sich anmelden zu können, muss die Login-Shell eine der in /etc/shells aufgeführten sein, andernfalls lehnt das PAM-Modul pam_shell die Anmeldeanforderung ab.Verwenden Sie insbesondere nicht den Pfad /usr/bin/bash anstelle von /bin/bash, es sei denn, es ist in /etc/shells richtig konfiguriert.
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
Antwort2
Wenn bash
in /bin/bash
und /bin
und /usr/bin
nicht miteinander verknüpft sind, kann das Anmeldeprogramm die Shell nicht starten, wenn Sie einen falschen Pfad zur Bash angeben.
Wenn die Binärdateien miteinander verknüpft sind, müssen Sie sie bearbeiten, /etc/shells
um beide Varianten einzuschließen.