我有自己的专用服务器。我丢失了 SSH 的 root 登录名和密码。
我现在拥有的只是 ftp 访问权限,以及 vhcs 面板的访问权限,在那里我可以创建 ftp 用户、mysql...
我收集了一些信息来帮助你帮助我:1. 在服务器上安装了 Debian、Apache2、Mysql 和 PHP5,用户为“www-data”2. SSH 正在运行。3. 文件 etc/shadow 不存在(只有 passwd)4. 当我尝试从 PHP 5 运行 su、sudo 时,它不起作用有时我会收到“必须在终端中运行”之类的错误
如何恢复以 root 身份访问服务器?我只能访问 FTP 和 PHP,并可以选择运行 exec 和 shell_exec
像这样:
$result = shell_exec("ls 2>&1");
echo print_r($result);
我使用 Google 寻找解决方案,但没有成功...
答案1
首先,忽略与 php 相关的所有内容。除非您拥有最不安全的设置,否则这完全不相关。
如果你可以 ssh 进入系统并从另一个帐户访问 sudo,你可以尝试
sudo passwd
如果你不能,那你就完蛋了。你没有(或者说不应该)通过 ftp 或 php 获得权限。你必须使用救援 CD 或 USB 启动服务器,安装磁盘并更改密码。
尝试在 Google 上搜索“linux 丢失 root 密码”。有成千上万个地方记录了此内容...