有什么恢复吗?须藤 chmod 600 .*

Bri*_*den 8 permissions bash sudo chmod

警告-不要运行提到的命令

所以看起来我在这里做了一些非常愚蠢的事情来温和地说。我试图更改目录中几个文件的权限,所有这些文件都.以仅对 sudo/root 读/写开始。

我一次更改多个文件的尝试似乎在全球范围内做了一些非常可怕的事情。虽然在目录中(不在根目录中)我跑了sudo chmod 600 .*,好吧,我现在从我的手机上发布这个......我现在仍然打开终端窗口,但我很确定笔记本电脑是否可以睡觉我已经完成了。有趣的是,这意味着这个问题有点紧迫。

哦,这似乎改变了我猜测的几乎所有地方的权限。我什至无法运行lsorcd ..命令。尝试cd /home/briancd ~给出错误bash: cd: /home/brian: Permission Denied以及对sudo命令的任何尝试只是说bash: /usr/bin/sudo: Permission Denied

我害怕重启,不知道是否有任何内置的恢复功能可以从这个愚蠢的东西中恢复,但我想在让事情变得更糟之前我会试着在这里问一下。我是一个相当新的 Linux,因为我的主要操作系统转换并且最近有点提倡它,但是哎哟,这个有点刺痛。任何尝试尝试的想法都将不胜感激。

编辑:我想澄清一下这个命令是如何/在哪里执行的。这是从/.atx $,只是一个任意目录执行的,但更多详细信息如下。

以我的常规用户名登录时brian,我打开了一个终端,/.atx其中包含三个配置类型纯文本文件。每个文件名都以.. 该目录/名称/文件不是通用包的任何部分,只是我以编程方式移动的一组任意配置。文件包含一些 SQL 服务器连接字符串信息,只是想让它们半隐藏。

Bri*_*den 4

哇,这里的恢复实际上比我预期的要顺利,一切看起来都恢复得很好。

非常感谢 @CharlesGreen 解释该命令如何扩展目录。还要感谢@Panther 提供有关进入恢复模式以解决某些相关问题的信息。(如果你们都想重新分享您的评论作为答案,我会投票给他们)

幸运的是,与链接的帖子不同,这似乎有一个非常简单的修复。看来,当我sudo chmod 600 .*仅从其下的一个目录运行命令时,将部分向上/扩展.*到真正的根目录,从而改变了权限,.以免/导致所有其他权限失效。

对此的“修复”是启动到恢复模式,将驱动器重新安装为读/写,转到主根目录 ( cd /),然后chmod +rx .. 重新启动后,一切看起来都恢复正常。

这个故事的寓意是,执行命令.*至少有时会影响当前目录之上的目录。我原本打算只影响以....oops 开头的文件。

非常感谢所有发表评论和提供帮助的人。


dan*_*der 2

对此的“修复”是启动到恢复模式,将驱动器重新安装为读/写,转到主根目录(cd /),然后 chmod +rx .. 重新启动后,一切看起来都回到了普通的。

chmod +x为了让未来的读者清楚地了解这一点,他们可能会认为这是公认的答案,但人们对该解决方案作为通用解决方案存在担忧。这个具体问题似乎是用户主目录,因此下面的一些问题可能较低,但如果这应用于业务服务器并影响多个用户或其他数据目录,则不建议解决方案。

从积极的一面来看,此步骤将允许用户重新获得对文件的访问权限,以便将它们复制到备份介质上以防止进一步丢失。归根结底,这是任何数据恢复工作的主要目标。

最令人担忧的是,原始文件可能应用了现在丢失的特定权限。+rw某些程序(特别是 ssh)会强制执行文件权限以进一步确保其安全性,如果在其文件夹和文件上设置了权限,则这些程序将无法工作。

另一个问题是,如果在根 ( /) 文件夹中递归应用此操作,则可能会打开其他文件以供系统上的任何人查看和修改。在服务器可能包含敏感数据(PCI/财务或医疗保健/HIPAA 信息)的业务环境中,这种访问可能会导致审计结果和影响。

在个人/家庭环境中,这种恢复可能是完全可以接受的。请注意,有些东西可能会默默地被破坏或表现得很奇怪。

在业务环境中,可能会使用此恢复来重新获得对数据的访问权限,但最终任何像这样的巨大变化都应该通过重新安装服务器并从备份中恢复来解决。

您确实有当前备份,不是吗?;-)

  • 继续投票,因为这里有一些普遍有用的建议/信息。在我的特殊情况下,我很幸运,唯一被更改的权限直接在“/”内,并且不会递归地级联到任何其他目录。另外值得注意的是,这只是在我的个人笔记本电脑上,尽管我可能丢失了一天的部分工作(还没有完成 git 推送),但重新安装我的“用户”相关的文件将是一个巨大的麻烦和烦恼。应用程序。如果它是任何类型的服务器,我通常会同意,只需花费更少的时间和精力来擦除/重建。 (2认同)