Владельцы по умолчанию / права доступа к файлам в домашнем каталоге пользователя
Я часто вижу пользователей, которые пытаются решить проблему и где-то читают или просто пытаются рекурсивно chown их домашний каталог, а иногда даже рекурсивно сбрасывать разрешения на что-то вроде rwxr-xr-x или похожие.
Представьте себе такую резню владельца / разрешения - существуют ли критически важные файлы / каталоги, для которых нужны специальные разрешения или они должны принадлежать пользователю root для работы системы?
2 ответа
Нет файла в ~ должен принадлежать пользователю root.
Если программное обеспечение требует, чтобы файл в вашем домашнем каталоге принадлежал другому пользователю, это является ошибкой и должно быть сообщено об этом.
Помимо этого, общий случай включает два связанных с безопасностью программного обеспечения, которые требуют ограниченных разрешений для определенных файлов, а именно:
- SSH
- 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(с разрешением на запись и прикрепленным битом для включения записи).
... Я не могу думать ни о чем более нуждающемся в особом отношении.