如何在centOS 7中使用bash脚本作为用户的shell?

我有用户test ,我想提供一个bash脚本作为这个用户的loginshell。 我可以使用命令usermod -s /pathtomyscript.sh轻松地在usermod -s /pathtomyscript.sh 6上usermod -s /pathtomyscript.sh 。 但在centos 7中,我无法这样做。 我将脚本复制到/usr/bin并将其添加到/etc/shells 。 但是还是没有运气。 我的脚本如下:

 #!/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 

我能够通过运行sulogin,但是当我login到控制台,它是说no shell, permission denied 。 我已经给了文件适当的权限,如下所示:

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

如果您需要,某些脚本或程序充当用户的loginshell – 您必须将其完整path附加到/etc/shells文件。

pam_shells模块在这个文件中检查用户loginshell。