我有一个用户test
,我想提供一个 bash 脚本作为该用户的登录 shell。我能够使用命令在 centOS 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
,但是当我登录控制台时,它说no shell, permission denied
。我已经向文件授予了适当的权限,如下所示:
-rwxr-xr-x. 1 test test 240 Jan 19 15:57 /usr/bin/testshell.sh
答案1
如果需要,某些脚本或程序可充当用户的登录 shell - 您必须将其完整路径附加到/etc/shells
文件。
pam_shells模块在此文件中检查用户登录shell。