如何创建可以通过 SSH 登录但不能使用 shell 命令的新用户?我尝试将其设置/bin/false
为用户的默认 shell,但之后我就无法再通过 SSH 登录。
答案1
您可以创建一个新的、小型的“shell”(我使用引号,因为它不是一个真正的 shell),如下所示:
以 root 身份在
/bin
目录中创建一个新文件,比如说fakesh
。/bin/fakesh
在文件中添加以下代码:#!/bin/bash echo -n "$ " while read cmd ; do if [ "$cmd" = "exit" ]; then break; fi if [ "$cmd" != "" ]; then echo "The only one available command is: exit"; fi echo -n "$ " done
保存文件并使其对每个人都可执行:
chmod +x /bin/fakesh
完成这些后,只需将其设置/bin/fakesh
为用户的默认 shell 即可。用户将可以通过 ssh 登录其帐户,但除了 之外,他将无法执行任何命令exit
。