意外运行 chown 后恢复文件所有权

Goo*_*ies 5 linux arch-linux system-installation ownership

我最近升级了 PostgreSQL 安装并打算运行以下命令:

\n
sudo chown -R postgres:postgres /var/lib/postgres\n
Run Code Online (Sandbox Code Playgroud)\n

不幸的是,由于错误计算的制表符完成,我不小心忘记了 \xe2\x80\x9cpostgres\xe2\x80\x9d 部分......我最终运行:

\n
sudo chown -R postgres:postgres /var/lib\n
Run Code Online (Sandbox Code Playgroud)\n

不用说,这引起了一系列问题。例如,I\xe2\x80\x99m 无法启动进入我的操作系统。


    \n更新:

    \n

    我申请了chown -R gdm:gdm /var/lib/gdm,现在可以成功登录\xc2\xa0!\xc2\xa0\n但是,我\xc2\xa0\n不知道这会在多大程度上导致问题。

    \n
\nI\xe2\x80\x99m 运行 Arch Linux,其中 i3 作为窗口管理器,GDM 作为显示管理器。如果您能帮助我获得 /var/lib 中必要目录的原始所有权,我将不胜感激。到目前为止,它永久挂在进程的这一部分上,之后\n
sudo chown -R postgres:postgres /var/lib/postgres\n
Run Code Online (Sandbox Code Playgroud)\n

启动期间控制台的照片

\n

我正在使用 LUKS 并且文件系统已加密。

\n

不过,当然,我可以通过添加init=/bin/bash到内核行来通过 grub 生成 shell,所以一旦我知道正确的所有权要求,这应该很容易修复。

\n

目前在/var/lib

\n
    \n
  • colord属于有色人种,
  • \n
  • gdm归gdm所有,
  • \n
  • locate并且mlocate归 root 所有,
  • \n
  • redis属于redis,
  • \n
  • systemd归 root 所有,并且
  • \n
  • 其他一切都归 postgres 所有。
  • \n
\n

有关权限和修改时间,请参阅输出照片。ls -ho

\n

一个问题是该/var/lib/gdm目录由 gdm 拥有,包含典型的主目录子目录(DesktopDocumentsDownloadsMusicPicturesPublicTemplates\xc2\xa0 Videos),\n所有这些子目录均由 postgres 拥有。\xc2\xa0\n参见输出照片ls -ho\n用于权限和修改时间。

\n

如何将文件所有权恢复/var/lib到运行之前的状态\n

\n
chown -R postgres:postgres /var/lib\n
Run Code Online (Sandbox Code Playgroud)\n

?\xc2\xa0\n任何帮助将不胜感激。

\n

fra*_*s P 1

您可以在目录上使用 chown 命令返回,其中包含您从 /etc/passwords 中的用户名及其来自 /etc/groups 的组中获知的信息,其余部分将属于 root:root

但这有点棘手,直到你可以让一个错误......它将在很多很多天出现......由于忘记的更改......

我认为 postgres gdm 还可以,其余的可能属于 root redis 到 redis ...我认为 Tor 也有它的专用用户。


简单的方法:重新安装所有内容(备份数据库之后,当然不格式化 /home )...