玩崩服务器

背景简介服务器上的shell配置文件,分系统级和用户级。对于普通用户来说,通常是没有权限修改系统级配置文件的。普通用户仅可修改用户级的 shell 配置文件。用户级配置文件位于用户的家目录(~),仅影响当前用户的 Shell 行为。这些文件都是以“.”开头的隐藏文件。对于共享服务器,用户级的 shell 配置文件默认有 ~/.profile 和 ~/.bashrc。用户有权限修改个人目录下的配置文件,但是错误修改可能导致很多问题,比如账号无法正常登陆。

问题描述用户使用 finalshell ssh登陆服务器时,刚出现登陆提示就显示连接断开了,如下图所示:

用户自己描述修改过 ~/.bashrc ,修改的方法是:

解决方法如果用户严格按照方法修改 ~/.bashrc ,正常来说是没有问题的,但很多用户由于初学经常出现误操作。管理员在检查用户的配置文件 ~/.bashrc 时,就发现了问题:

由于 ~/.bashrc 在用户登录时会自动执行,如果用户将 source~/.bashrc 这一行写入了 ~/.bashrc 文件本身,那么每次执行 ~/.bashrc 文件时,都会再次执行 source~/.bashrc,这样就形成了一个递归调用,并且无限循环。Bash 会检测到递归深度过大(通常几秒内),最终报错终止并退出。

使用管理员权限,修改用户的 ~/.bashrc,将这2行注释掉:

那么问题来了,如果是你,在误操作后,又没有管理员权限,你会用什么方法来解决这个问题呢?