Dar*_*ook 4 linux root home-directory
这个问题开始问为什么我的历史文件不能正常工作。然后我注意到它-rw------- 1 root root自 2012-09-11 以来一直没有更新。我改变了所有权,问题解决了。
但是现在我看到其他一些文件归 root 所有:
.gitconfig
.pearrc
.viminfo
Run Code Online (Sandbox Code Playgroud)
我可以安全地将它们更改为由我的普通用户而不是 root 拥有吗?我正在挠头试图弄清楚是否存在缺点或安全后果。
丢失 7 周的历史记录实际上非常痛苦,因为我非常依赖它(例如,提醒我上次是如何进行存档的)。如果在我的主目录中发现除我之外的其他人拥有的任何文件,那么设置一个 cron 作业来向我发送电子邮件是否合理?改写:root 是否有充分的理由在我的主目录中拥有一个文件?
更新:感谢您到目前为止的答复。我看到 root 拥有的文件如何通过在 sudo 会话中执行某些操作而放置在那里。我的问题的核心是:我是否可以合理地始终将其视为需要修复的错误?或者,一旦我注意到它,是否有正当理由将 root 拥有的文件留在我的主目录中?谢谢!
Root 通常不需要在您的主目录中拥有文件。这当然是一种概括。正如其他答案和评论中所提到的,如果文件是由在 sudo 下运行的程序创建或修改的,则文件可能归 root 所有。
要列出 root 拥有的文件或属于 root 组的文件,请尝试在终端中运行列出所有文件及其所有者信息并获取包含 "root": 的行ls -al | grep root。
在我的机器上,在我的普通用户帐户下,我有一些文件,甚至一个目录 (.compiz-1/) 显示为 root 所有,因此它很常见。查看这些文件及其内部 - 您可能需要以 root 身份执行此操作 - 我可以对它们如何到达那里进行合理的猜测。其中一些是我使用sudo program. 请记住,使用 sudo 以 root 身份运行程序,但始终$HOME指向您的主目录。使用gksu或kdesu为 GUI 程序做同样的事情,但还要确保图形环境使用您的设置(这就是为什么您不应该为它们使用 sudo 的部分原因)。
.compiz-l/ 目录似乎是 .compiz/ 的备份,它归我的用户所有。我的猜测是,在某个时候我运行了升级或执行了其他操作以触发 Compiz 设置的备份以 root 身份备份,并且我现在可以删除这些文件。如果有疑问,只需移动或重命名文件/目录,看看注销/登录或运行您认为使用它们的程序后会发生什么。
让我们看看您列出的文件,并将它们与我机器上的相同文件进行比较。
-rw-r--r-- 1 henrik henrik 211 apr 9 2011 .gitconfig
Run Code Online (Sandbox Code Playgroud)
该文件很可能归用户所有,对其他人没有写访问权限,因为它显然是每个用户的配置文件。如果 root 拥有这个文件而你没有写权限,你必须以 root 身份运行 git 才能更新你的全局 git 配置,这不是很方便。我不介意其他人对这个文件有读取权限,因为它不包含任何秘密,只有我的名字、电子邮件和一些首选项。
-rw-r--r-- 1 root root 143 dec 17 2011 .pearrc
Run Code Online (Sandbox Code Playgroud)
这个文件也是一个配置文件,但不是我通常直接从我的用户帐户使用的文件,因为它属于 PHP PEAR 项目。由于我必须使用sudo任何方式安装 PHP 扩展,这个文件也可能归 root 所有,所以我不会不小心弄乱它。
-rw-rw-r-- 1 henrik henrik 30709 nov 7 00:29 .viminfo
Run Code Online (Sandbox Code Playgroud)
这是 Vim 的历史文件,包含您在 Vim 中所做的几乎所有事情的日志,因此它可以轻松恢复状态。如果它不是您所有的或至少不是您可写的,我怀疑 Vim 是否能够更新它。
通常,是的,如果您通常以非 root 身份运行的程序使用了您的主目录中的 root 拥有的文件,则它们是错误的。如果文件既不是您所有的,也不是您可读的,则对您的主目录中的配置文件进行完整备份甚至可能变得困难。
| 归档时间: |
|
| 查看次数: |
4267 次 |
| 最近记录: |