![如果只有这两个文件夹受到“影响”,我是否需要在批量 chown 命令之后重新安装操作系统?](https://linux22.com/image/775005/%E5%A6%82%E6%9E%9C%E5%8F%AA%E6%9C%89%E8%BF%99%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%E5%8F%97%E5%88%B0%E2%80%9C%E5%BD%B1%E5%93%8D%E2%80%9D%EF%BC%8C%E6%88%91%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E5%9C%A8%E6%89%B9%E9%87%8F%20chown%20%E5%91%BD%E4%BB%A4%E4%B9%8B%E5%90%8E%E9%87%8D%E6%96%B0%E5%AE%89%E8%A3%85%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
我正在使用 Ubuntu。
我运行了以下命令。但过了一会儿,我停止了它,因为我觉得它花费的时间太长了。
sudo chown -R $USER:$USER /
这使得 sudo 命令停止工作。因此,我找到了一种解决方案,通过在紧急控制台中使用此命令将 sudo 恢复为 root(我们不能使用 root 的 SSH):
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
然后我在网上看到评论说建议重新安装操作系统,因为许多权限都会被改变。
但是,当我find / -user [username]
在服务器上运行第一个 chown 命令之前保存的图像时,我发现只有少数文件具有不同的权限。为什么会这样?为什么只有文件被/usr/bin/sudo
更改,而其他文件没有更改?
用户权限不同的文件只有/proc
和/sys/fs/cgroup/systemd/user/
。它们包含新文件,这些新文件的用户权限已授予我所拥有的用户。这看起来正确吗?还是我需要重新安装操作系统,因为这些文件与保存的映像不同?
谢谢!
答案1
大多数(但不是全部)/bin 和 /usr/bin 文件(事实上,大多数预安装的 OS 文件)都归root:root
(根据 FHS)所有,因此如果您对它们进行 chown,则不会产生太大影响。但是也有一些例外,这可能会破坏一些后台内容,例如 sudo、cron、mail、systemd 和应用程序。(而且目录中的情况大不相同/var
,我假设您chown
在此之前已中止)
因此,从备份(或如果您没有进行太多安装/自定义,则从全新安装)中获取所有权和权限是一个好主意。
某些发行版还可以重置权限并应用安全策略,但不确定您的特定系统是否支持此功能。例如,rpm --setperms
可以对命名的软件包执行此操作,因为dpkg
您可以使用重新安装选项(例如使用aptitude reinstall “~i”
过滤器对所有已安装的包进行操作)。