无需运行 bash_profile 或 bashrc 即可登录

无需运行 bash_profile 或 bashrc 即可登录

假设有人在.bashrc阻止他(或她)通过登录ssh(即,由于文件中的错误,ssh 登录退出)。是否有任何方法可以让该人无需执行它即可登录(或者.bashrc因为一个运行另一个),或者以其他方式删除/重命名/使文件无效?

假设您无法物理访问该机器,并且这是唯一具有 ssh 访问权限的用户帐户。

供参考:.bash_profile包括.bashrc

[[ -f ~/.bashrc ]] && . ~/.bashrc

编辑:我尝试过的事情:

ssh user@host "rm ~/.bashrc"

scp nothing user@host:/RAID/home/tom/.bashrc

ssh user@host  "/bin/bash --norc"

全部都给出错误:

/RAID/home/tom/.bashrc: line 16: /usr/local/bin/file: No such file or directory
/RAID/home/tom/.bashrc: line 16: exec: /usr/local/bin/file: cannot execute: No such file or directory

答案1

我认为你唯一的选择是:

  • 以另一个用户身份 ssh 登录并 su 到您的帐户;

  • 如果主机上启用了相关服务,则使用 ftp 或 smbclient 之类的工具;

  • 在开放的网络服务中找到开放的漏洞并利用它:)。

  • 让管理员修复该问题。

答案2

ssh -t username@hostname /bin/sh对我有用。

答案3

我遇到过同样的问题,但不知怎么就解决了。我使用 ssh 访问系统,登录系统后立即按住 Ctrl+c。然后,~/.bashrc 未被读取,我能够对其进行修改。

答案4

我使用已发布的 CVE 通过我安装的网络监控软件中的 Web 界面以 root 身份执行命令。 rm /RAID/home/tom/.bashrc

然后我可以登录并使用 svn 恢复我所做的更改。

相关内容