Wie verwende ich ein Bash-Skript als Benutzer-Shell in CentOS 7?

Wie verwende ich ein Bash-Skript als Benutzer-Shell in CentOS 7?

Ich habe einen Benutzer testund möchte ein Bash-Skript als Login-Shell für diesen Benutzer bereitstellen. Unter CentOS 6 konnte ich dies problemlos mit dem Befehl tun usermod -s /pathtomyscript.sh. Unter CentOS 7 ist dies jedoch nicht möglich. Ich habe das Skript nach kopiert /usr/binund zu hinzugefügt /etc/shells. Aber immer noch kein Glück. Mein Skript lautet wie folgt:

#!/bin/bash

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/bin:/bin
export PATH

whiptail --title "Example Dialog" --msgbox "You are logged in and now click ok to exit!" 8 78

Ich kann mich anmelden, indem ich ausführe su, aber wenn ich mich bei der Konsole anmelde, wird angezeigt, dass no shell, permission denied. Ich habe der Datei bereits die entsprechende Berechtigung erteilt, und zwar wie folgt:

-rwxr-xr-x. 1 test test 240 Jan 19 15:57 /usr/bin/testshell.sh

Antwort1

Wenn Sie möchten, dass ein Skript oder Programm als Anmelde-Shell des Benutzers fungiert, müssen Sie den vollständigen Pfad zur /etc/shellsDatei anhängen.

pam_shellsDas Modul sucht in dieser Datei nach einer Benutzeranmeldeshell.

verwandte Informationen