Ich habe einen Benutzer test
und 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/bin
und 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/shells
Datei anhängen.
pam_shellsDas Modul sucht in dieser Datei nach einer Benutzeranmeldeshell.