如果我将 shell 更改为类似 之类的东西/bin/abc
,其中abc
是随机的(甚至可能不存在),那么当我登录时会发生什么(假设我已将其添加到/etc/shells
,因此chsh
不会发出抱怨。)?它是否会切换到默认 shell,还是会给出错误并且不让我登录?
答案1
您将无法登录,必须请系统管理员修复它。
答案2
只需三行代码你就能自己找到答案:
# useradd -m -p $(mkpasswd test) -s /nix test
# login
sn-e0692 login: test
Password:
Linux sn-e0692 2.6.32-bpo.5-amd64 #1 SMP Fri Jun 11 08:42:31 UTC 2010 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Cannot execute /nix: No such file or directory
# userdel -rf test
答案3
正如其他人已经回答的那样,您将无法登录到 shell 提示符......
如果您已经设置了 SSH,您可能能够使用它来修复问题(如果它以不同的方式处理 shell),或者至少让您使用 SCP 上传已更正的文件(例如定义您的用户帐户使用哪个 shell 的文件)。
FTP 可能无法(也不应该)访问您需要更新的文件,但我提到这一点是因为这可能会让您想到其他替代方案?您是否有一个运行某种文件管理控制台的 Web 服务器可以为您执行此操作?