Владельцы / права по умолчанию для файлов в домашнем каталоге пользователя

14

Я часто вижу пользователей, которые пытаются решить проблему и где-то читают или просто пытаются рекурсивно выполнить chownсвой домашний каталог, а иногда даже рекурсивно сбрасывают разрешения на что-то подобное rwxr-xr-xили подобное.

Представьте себе такую ​​расправу с владельцем / разрешением - существуют ли критические файлы / каталоги, для которых нужны специальные разрешения или они должны быть корневыми для работы системы?

Byte Commander
источник
1
Ват файлы ты о чем? Почему важные файлы, принадлежащие пользователю root, должны находиться в доме пользователя?
независимо от того, что
1
@mikewhatever Я знаю , по крайней мере , три директории , которые должны принадлежать корню: ~/.gvfs/, ~/.cache/gvfs-burn/и ~/.cache/dconf. Наверное, есть и другие.
Byte Commander
1
drwx------ 2 romano romano 4096 dic 2 2008 .gvfsи никогда не было никаких проблем .... (см. дату). Такжеdrwx------ 2 romano romano 4096 abr 28 14:57 .cache/dconf
Rmano
3
В домашнем каталоге пользователя нет «критических» файлов, если они есть, то это результат очень плохого программирования, поскольку пользователь может удалить их намеренно / по ошибке в одно мгновение. Если это не ошибка, «критические» файлы хранятся в другом месте.
Кос
Кстати, я могу подтвердить, что ~ / .gvfs и ~ / .cache / dconf в моей системе принадлежат пользователю root. Я запустил «sudo ls -Al» в обоих каталогах, и они оба пусты. Хотя я изменил групповые и другие разрешения для документов, я никогда не запускал chown. Таким образом, владение root для этих двух каталогов вполне может быть нормальным, по крайней мере для Ubuntu 15.04. Кроме того, у меня нет каталога ~ / .cache / gvfs-burn или каталогов ipc-admin, упомянутых Byte Commander, которые принадлежат пользователю root. Но файл с числовым альфа-именем в ~ / .dbus / session-bus принадлежит мне, а не root.
user173876

Ответы:

17

Никакой файл ~не должен принадлежать пользователю root.

Если программное обеспечение требует, чтобы файл в вашем домашнем каталоге принадлежал другому пользователю, это ошибка, о которой следует сообщить как таковой.

Помимо этого, общий случай включает два связанных с безопасностью программного обеспечения, которые требуют ограниченных разрешений для определенных файлов, а именно:

  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_keys, known_hostsи т. Д., Должны быть доступны для записи только пользователю, но могут быть доступны для чтения всем пользователям.

GnuPG

~/.gnupg(и содержание) должны быть доступны только вам. С другими разрешениями GPG будет жаловаться на небезопасные разрешения.

Мур
источник
Так что же ~/.gvfs/, ~/.cache/gvfs-burn/и ~/.cache/dconf? Они принадлежат корню, и я думаю, что они должны быть.
Byte Commander
2
@ByteCommander Нет. Использовать sudoс программами с графическим интерфейсом, не так ли?
Муру
Не то чтобы я мог это вспомнить ... Я создаю нового пользователя и проверяю там. Один момент, пожалуйста.
Byte Commander
@ByteCommander посмотрите: bugzilla.gnome.org/show_bug.cgi?id=534284
Муру
1
@ByteCommander, если это было намерение, то sudo -iили, sudo -Hвероятно, следует использовать.
Муру
11

В общем, файлы и каталоги в вашем доме должны принадлежать вам.
У меня есть некоторые странные файлы, принадлежащие корню, которые, вероятно, являются результатом выполнения sudoкоманды; на самом деле есть программы, которые пишут вещи в соответствии с ними $HOME(чего не должны делать программы с хорошим поведением, требующие привилегий суперпользователя - эффект заключается в получении root-прав владения файлами, которые должны принадлежать пользователю).
Обычно удаление или повторное владение ими (в зависимости от файла) не создает проблем и часто решает некоторые из них, например, печально известный .Xauthorityфайл - и иногда, после запуска sudo dconf-editor, в конфигурациях появляются вещи, которые вы больше не можете изменять.

О специальных режимах:

  • сценарии должны быть исполняемыми, конечно, по крайней мере, для владельца;
  • тоже должны быть каталоги (где xозначает право пересекаться);
  • .sshдолжно быть drwx------(0700) и закрытые ключи в нем -rw-------(0600)
  • если у вас есть Publicкаталог для совместного использования, он, вероятно, должен быть drwxr-xr-x(разрешение на чтение для всех) или drwxrwxrwt(с разрешением на запись и фиксатором для включения записи).

... Я не могу думать ни о чем более нуждающемся в особом отношении.

Rmano
источник
Так что же ~/.gvfs/, ~/.cache/gvfs-burn/и ~/.cache/dconf? Они принадлежат корню, и я думаю, что они должны быть.
Byte Commander
@ByteCommander --- все эти вещи принадлежат мне в моей системе, и ничего не работает. Как вы думаете, почему они должны принадлежать пользователю root? В dconfэто ваша конфигурация, и привилегированная команда / демон , который делает монтаж перегородок должны перейти в собственность к вам --- в противном случае это ошибка. Я прокомментировал это на ваш вопрос.
Rmano
Я нашел еще два файла, принадлежащих пользователю 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. Можете представить, почему они принадлежат пользователю root?
Byte Commander