我有用户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
我能够通过运行su
login,但是当我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。