roo*_*kea 5 filesystem permissions chown
我正在使用 Ubuntu 13.04 x86_64。
我想在我的主目录中拥有全部内容。所以我执行了这两个命令。
sudo chown -RcH rootkea ~
sudo chown -RcL rootkea ~
Run Code Online (Sandbox Code Playgroud)
现在由于这些符号链接链接到文件系统中的其他一些文件,我不小心拥有了驻留在我的主目录之外的文件。
我注意到的直接后果是:
须藤不工作
$ sudo
sudo: effective uid is not 0, is sudo installed setuid root?
Run Code Online (Sandbox Code Playgroud)创建一个/var/log/cups/error_log
大小不定的日志文件,它消耗了我硬盘驱动器的最后一个字节(经过相当长的时间)。上次是 17.8 GB!
文件的内容只有无数次重复的这两行:
E [24/May/2013:02:27:52 +0530] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100755/uid=1000/gid=0).
W [24/May/2013:02:27:52 +0530] Notifier for subscription 531 (dbus://) went away, retrying!
Run Code Online (Sandbox Code Playgroud)很明显,cups
程序也被搞砸了。
现在我不知道有多少其他程序进入了无法使用的状态。
有什么办法可以撤消上述两个命令的效果吗?
如何恢复整个文件系统的默认权限设置?
正如gertvdijk 建议的那样(通过参考这个问题),重新安装几乎总是解决此问题的最佳和最简单的方法(也是您可以确定完全解决它的唯一方法),特别是如果您不确切知道权限在哪里改变或从什么改变。
私人建议的这种方法可能有效,您可能会认为值得一试。但是,文件和文件夹的位置以及它们的所有权和权限应该是什么,各个版本之间存在一些差异。此外,除了重新安装之外,使用任何解决方案,您永远不会知道是否有一些文件或文件夹具有错误的权限,这可能在将来的某个时候导致问题。
您通常可以通过修复其所有权来修复(或至少取得进展)无法工作的问题sudo
(即问题 1,如您所列):
pkexec chown root:root /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
在像您这样的情况下,这主要是作为一种便利措施,使您可以更轻松地执行重新安装之前需要完成的任何管理任务。(或者在尝试应用一些更复杂的解决方案之前。)如果您的重要文件(例如文档)的备份不是完全最新的,那么现在绝对需要进行备份。
最后,请注意,修改的只是所有权,而不是权限。因此,您可以尝试递归地将目录的所有权更改回根目录。然而,这也不太可能解决问题,因为:
因此,如果这是生产系统,您应该重新安装。
归档时间: |
|
查看次数: |
38914 次 |
最近记录: |