![如何在 centOS 7 中使用 bash 脚本作为用户的 shell?](https://linux22.com/image/697241/%E5%A6%82%E4%BD%95%E5%9C%A8%20centOS%207%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20bash%20%E8%84%9A%E6%9C%AC%E4%BD%9C%E4%B8%BA%E7%94%A8%E6%88%B7%E7%9A%84%20shell%EF%BC%9F.png)
我有一个用户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。