Bash-Skript als verwendete Shell funktioniert nicht mit SSH

Bash-Skript als verwendete Shell funktioniert nicht mit SSH

Ich versuche, ein bestimmtes Bash-Skript als Benutzer-Shell zu verwenden. Wenn sich der Benutzer also anmeldet, wird das Skript ausgeführt.

Ich habe das Skript erstellt und es im Home-Verzeichnis des jeweiligen Benutzers abgelegt. Ich habe es so geändert, /etc/passwddass das Skript als Shell für diesen Benutzer verwendet wird.

Das funktioniert prima, wenn ich mich lokal anmelde. Aber wenn ich versuche, mich über SSH anzumelden, erhalte ich die folgende Fehlermeldung:

/home/user/custom-shell: No such file or directory
Connection to xyz closed.

Der Pfad zu diesem Skript ist korrekt, da ich mich lokal anmelden kann und sehe, dass das Skript ausgeführt wird.

Ich habe auch versucht, die Berechtigung mithilfe von zu ändern chmod 777 custom-shell, aber das hat auch nicht geholfen.

Haben Sie eine Idee, wo das Problem liegt?

Antwort1

Fügen Sie das Skript/Programm, das Sie für eine Shell verwenden möchten, hinzu zu/etc/shells

Antwort2

kann ich die Zeile sehen, die Sie in /etc/passwd eingegeben haben, sowie das Skript und seine Berechtigungen? Ich habe es lokal getestet und es funktioniert gut:

[root@ops-tricks ~]# grep jdoe  /etc/passwd
jdoe:x:1010:1010::/home/jdoe:/home/jdoe/custom-shell
[root@ops-tricks ~]# cat /home/jdoe/custom-shell
#!/bin/bash

echo "Custom Shell"
[root@ops-tricks ~]# su - jdoe
Custom Shell
[root@ops-tricks ~]# ssh jdoe@localhost
jdoe@localhost's password:
Last login: Mon Sep  3 23:32:25 2018
Custom Shell
Connection to localhost closed.

[root@ops-tricks ~]# ls -l /home/jdoe/custom-shell
-rwxr-xr-x. 1 root root 33 Sep  3 23:28 /home/jdoe/custom-shell

Und welche Distribution und Version verwenden Sie?

verwandte Informationen