在根目录上使用递归 chown

在根目录上使用递归 chown

我需要一些帮助来恢复我的 ssh 设置,因为我通过调用这个命令搞砸了一切:

chown -R user /

目前我无法通过 ssh/ftp 访问该网站,因为所有文件的所有权都已更改。我不想重置所有所有权,但如果我能让 ssh 正常工作,我就可以创建我的文件的备份,然后在我的服务器上全新安装 ubuntu。

这是我尝试重新启动 ssh 时收到的错误:

/var/run/sshd must be owned by root and not group or world-writable.

我正在运行 ubuntu 10.04 LTS。任何帮助我都非常感谢。

PS 我可以在我的托管公司(linode)提供的基于浏览器的 AJAX 控制台上运行 ssh 命令。

谢谢

答案1

/var/run/sshd 必须由 root 拥有,而不能是组或全球可写的。

可以通过以下方法修复:

$ chown root /var/run/sshd
$ chmod 744 /var/run/sshd

我猜你在纠正这个错误后会遇到大量其他权限错误,但这至少可以帮助你入门。

编辑

由于您使用的是 linode,因此您还有其他几种恢复数据的选项,所有这些选项都可能比尝试让您的 sshd 恢复正常工作要容易得多。我是 linode 的长期客户,不得不这样做几次……

第一个选项,也可能是最简单的选项,临时升级到更大的计划或购买额外的磁盘空间。然后,您可以将新的、干净的 Linux 安装部署到额外的空间中,然后从良好的安装中安装损坏的卷。将所有数据传输到新安装中,删除旧映像,然后缩小到您之前拥有的任何大小的服务器。

第二种选择是,您可以使用附带的 Finnix 救援发行版来安装您的系统,然后将整个磁盘映像传输到您的本地工作站,在那里您就可以获取数据。

相关内容