Ich verwende Bash sowohl auf dem Client als auch auf dem Server. Wenn Sie einen Befehl über SSH ausführen:
ssh <host> 'declare'
gibt eine Liste von Shell-Variablen an.ssh <host> 'mount'
gibt eine Liste von Mountpunkten an.
Es handelt sich jedoch declare
um einen eingebauten Bash, während mount
es sich um einen externen Befehl handelt. Woher weiß SSH, was ausgeführt werden soll, wenn auf dem Server eine integrierte Shell und ein externer Befehl mit demselben Namen vorhanden sind?
/etc/passwd
. Wenn/usr/sbin/nologin
Sie sich nicht anmelden können