用户主目录中文件的默认所有者/权限


14

我经常看到用户尝试解决问题并在某处读取,或者只是尝试递归chown其主目录,有时甚至还会递归地将权限重置为类似rwxr-xr-x类似的。

想象一下这样的所有者/权限大屠杀-是否存在需要特殊权限或需要root拥有才能使系统正常工作的关键文件/目录?


1
您正在谈论Wat文件?为什么root拥有的关键文件位于用户主目录中?
mikewhatever,2015年

1
@mikewhatever我知道,需要由root拥有至少三个目录:~/.gvfs/~/.cache/gvfs-burn/~/.cache/dconf。可能还有更多。
字节指挥官

1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfs从来没有任何问题...。(请参阅日期)。另外drwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano 2015年

3
在用户目录的主目录中没有“关键”文件,如果有的话,这是非常糟糕的编程的结果,因为用户可以有意/一时将其删除。除非是错误的,否则“关键”文件将存储在其他位置。
kos 2015年

FWIW,我可以确认系统上的〜/ .gvfs和〜/ .cache / dconf都属于root用户。我在两个目录上都运行了“ sudo ls -Al”,它们都为空。尽管我更改了文档的组和其他权限,但是我从未运行过chown。因此,这两个目录的根所有权很可能是正常的,至少对于Ubuntu 15.04而言。另外,我也没有〜/ .cache / gvfs-burn目录,也没有Byte Commander提到的root拥有的ipc-admin目录。但是,〜/ .dbus / session-bus中以数字字母命名的文件由我拥有,而不是root。
user173876

Answers:


17

没有档案 ~根目录中。

如果软件要求的文件主目录由另一个用户拥有,则它是一个错误,应这样报告。

除此之外,一种常见情况是涉及两个与安全相关的软件,这些软件需要对某些文件具有受限的权限,即:

  1. SSH协议
  2. GPG

SSH协议

参见man ssh,部分FILES

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

其他文件,例如authorized_keysknown_hosts等)应只能由用户写入,但可以被世界范围读取。

糖蛋白

~/.gnupg(和内容)只能由您访问。使用其他权限,GPG将抱怨不安全的权限。


那么怎么样~/.gvfs/~/.cache/gvfs-burn/~/.cache/dconf?他们是根拥有的,我认为应该是。
字节指挥官

2
@ByteCommander不行。sudo与GUI程序一起使用,对吗?
muru 2015年

并不是我记得它...我正在创建一个新用户并在此处进行检查。稍等一会儿。
字节指挥官

@ByteCommander看一下:bugzilla.gnome.org/show_bug.cgi?
muru

1
@ByteCommander如果是这样的意图,那么sudo -i还是sudo -H可能应该被使用。
muru 2015年

11

通常,您家中的文件和目录应该归您所有。
我有一些奇怪的root拥有的文件,这些文件可能是执行sudo命令的结果。实际上,有些程序可以在下面写东西$HOME(那些行为良好,需要超级用户特权的程序不应该这样做-效果是从根本上取得了应该属于用户的文件的所有权)。
通常,删除或重新拥有它们(取决于文件)不会产生问题,并且通常可以解决一些问题,例如臭名昭​​著的.Xauthority文件---有时,在运行之后sudo dconf-editor,您的配置中的内容就无法修改。

关于特殊模式:

  • 当然,脚本至少必须对所有者可执行;
  • 因此也必须是目录(在这里x意味着交叉权限);
  • .ssh必须为drwx------(0700),且其中的私钥-rw-------(0600)
  • 如果您有Public要共享的目录,则该目录应该是drwxr-xr-x(对任何人的读取权限)或drwxrwxrwt(具有写入权限和粘性位,用于启用写入)。

...我再也想不到需要特殊对待的东西了。


那么怎么样~/.gvfs/~/.cache/gvfs-burn/~/.cache/dconf?他们是根拥有的,我认为应该是。
字节指挥官

@ByteCommander ---所有这些东西都归我所有,在我的系统中,没有任何功能异常。您为什么认为它们必须由root拥有?在dconf您的配置和特权命令/守护,做隔板的安装应切换所有权转让给你---否则这是一个错误。我对您的问题发表了评论。
Rmano 2015年

我发现了root拥有的另外两个文件,我不确定这是对还是错:~/.dbus/session-bus/7ae519bec942595a6925fb2d5448031b-1并且,和/home/ipc-admin/.aptitude/config下还有很多东西。您能想象为什么这些是我系统上的根目录吗?/home/ipc-admin/.cache/pip/wheels//home/ipc-admin/.local/share/session_migration-(null)/home/ipc-admin/.local/share/applications/mimeapps.list
字节指挥官
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.