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

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

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

2 ответа

Решение

Нет файла в ~ должен принадлежать пользователю 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 будет жаловаться на небезопасные разрешения.

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

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

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

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

Другие вопросы по тегам