当我在 Web 服务器上工作时,我意外更改了 /etc 文件夹的所有者,现在 /etc 文件夹及其所有子目录的所有者是 www-data。我无法再使用 sudo 执行任何操作,并且在恢复模式下控制台会在大约 30 秒后重新启动,然后冻结。有什么办法可以解决这个问题而不需要重新安装ubuntu吗?
答案1
也许再搜索一下:https://superuser.com/questions/501818/changing-ownership-without-the-sudo-command#501824
重新启动,按住右shift键调出grub2启动菜单。然后按照这些说明进入单用户模式。
在单用户模式下,您可以修复文件权限,因为您自动成为 root 用户。
一般来说,如果只是文件所有权发生了变化。你可以运行:
chown -R root:root /etc
这会将所有权和组更改回默认根。
我这里有一个 ubuntu 服务器 12.04 LTS,/etc 下有少量具有不同组所有权的文件/目录。除此之外,所有文件均归 root 所有。具有不同组所有权的文件是:
/etc: -rw-r----- 1 root daemon 144 Oct 26 2011 at.deny drwxr-s--- 2 root dip 4096 Aug 22 12:01 chatscripts -rw-r----- 1 root shadow 697 Oct 31 12:58 gshadow -rw-r----- 1 root shadow 1569 Oct 31 13:00 shadow /etc/chatscripts: -rw-r----- 1 root dip 656 Aug 22 12:01 provider
因此,您可以在最初运行 chown 之后对这些文件运行 chgrp 命令。然后你应该让一切恢复到原来的样子。普通用户的时间不应超过 10 分钟。
e.g. chgrp shadow /etc/shadow
哦,还有最后一步。完成更改后重新启动。
/> reboot