2012-01-13 166 views
0

我有一个debian squeeze机器,它已经递归地改变了它的文件权限,基本上是一个现在无法启动应用程序 - 终端的位置。我google搜索,但无法找到任何有用的答案。有没有办法恢复debian squeeze中的所有默认设置?有没有办法在Debian中恢复默认文件权限?

+0

文件权限在哪个文件系统上被更改? '/ etc',系统,'/ usr','/ home',所有这些? – 2012-01-15 20:17:21

+0

是的。他们全部。几乎一切都是根源。因此它不会启动到任何用户帐户。 – King 2012-01-16 05:44:24

+1

我明白了。在这种情况下,您的选择是(a)与正在运行的Debian系统进行比较,手动修复权限或(b)备份和重新安装。我建议(b),这可能会更省时间,并且(a)很难确定你的一切都正确。 – 2012-01-16 08:29:47

回答

1

确实没有必要重新安装或任何其他这样的激烈措施。只要有一点点工作,系统就会好起来,只要你还有root权限。

您使用了短语“不会启动到任何用户帐户”。从这我带你意味着系统将开机你只是不能登录作为除root以外的任何用户。

在任何Linux发行版上几乎都有系统上的所有文件除了/ home/[USERNAME]中的文件都归root用户所有。

您很可能是以其他用户身份进行身份验证,但由于他们的配置文件等属于root用户,系统无法完成登录过程。您可以通过检查/var/log/auth.log来轻松地验证此问题。

我要做的第一件事是修正/ home中各个用户目录的文件和目录权限,以便将相应的用户和组修改。这可以通过一个简单的命令从/ home完成。

chown是你想要的程序。阅读手册页获取更多信息,但基本上只是:

chown [path to user's home directory (i.e. /home/user) -R username.username. 

例如说你有用户'foo'。你会执行此命令:

chown -R foo.foo /home/foo 

加入少许的循环,你可以改变烫发一举:(假设你使用bash):

for i in /home/*; do name=`basename $i`; chown -R $name.$name $i; done 

您现在应该是能够以任何用户身份登录就好了。

+0

它只是引导到Grub。从那里,我试图改变这些权限。有一些事情,例如它失败了一些sudo命令的权限。因为它不会进入用户登录屏幕。还有一些东西必须在其他地方改变。 – King 2012-01-23 17:41:01

0

原始系统不会再启动。

大概

  • 引导使用另一种媒介的OS,
  • 检索和备份/home/etc
  • 重新安装Debian,
  • 还原备份。

的Knoppix是一个很好的系统用来访问和恢复的第一个驱动器,或者你可以尝试启动Debian的本身(从另一个磁盘或CD)来做到这一点。

+0

重新安装显然是最简单的选择。但是我可能安装了这么多的自定义软件包并将它们安装回去需要做很多工作。我只是在等待,看看是否有任何恢复真的可能。因为,假设虚拟机实际上可以恢复到快照。 Windows有这个默认设置还原的东西。所以,我很想知道在debian中如何可能,甚至是痛苦? – King 2012-01-19 21:36:44

相关问题