哪些目录应由 root 拥有?

哪些目录应由 root 拥有?

我安装了 Ubuntu 基础版并启动到 #,然后我通过执行切换到 root su -。但我无法以 root 身份修改任何文件,例如,当我尝试编辑和保存时/etc/hostname,nano 抱怨它是一个只读文件系统。

我猜测在安装过程中我应该像这样更改 / 下的相关目录的所有权:

chown -R root:root /bin /etc ...

现在 / 下有一堆目录:

bin boot dev etc home lib lib32 lib64 libx32 lost+found media mnt opt proc
root run sbin srv sys tmp usr var

我应该将哪些设置为 root 所有?我还应该像这样拥有根目录吗:

chown root:root /

当我这样做时,我无法修改 /home/user/ 下的任何文件su user......我应该这样做:

chown -R user:user /home/user/

或者我应该这样做:

chown -R root:root /
chown -R user:user /home/user

答案1

我认为你误解了正在发生的事情:

就系统目录而言,强烈建议不要手动设置文件权限,但有一些例外(例如,如果您创建新的中的配置文件/etc,之后应检查并调整其权限)。但我从未见过 Linux 或 Unix 发行版要求您在使用前调整系统目录树的权限。真的应该依赖你的发行版,你不应该搞砸它。真的真的对系统安全至关重要。唯一的例外是如果您从源代码构建自己的发行版...

你的真实的问题可能是文件系统损坏。大多数系统会定期检查文件系统,例如在启动时,如果发现任何问题,则以只读方式安装。您提到的错误信息nano正是这样的:

这不是nano对单个文件的权限的抱怨,而是说文件系统本身是只读的。

要解决这种情况,您必须找出系统以只读方式挂载受影响文件系统的原因。如上所述,最可能的原因是它以某种方式被损坏了。另一个原因可能是对您的系统做了太多改动 :-) 并将其挂载为只读文件系统。我不了解 Ubuntu,但也许您可以在 中找到提示/etc/fstab

相关内容