Я настроил полномочия на /media/username
от root:root
кому: username:root
[1]. Я понимаю, что ориентированное на пользователя местоположение позволяет ориентированные на пользователя полномочия [2].
Но почему были полномочия для этой папки root:root
во-первых?
[1] Так, чтобы я мог смонтировать зашифрованные папки там с менеджером Gnome EncFS. Например, я могу теперь смонтировать зашифрованную папку как /media/username/personal-documents
.
[2] От того, Почему Ubuntu переместила точки монтирования по умолчанию?:
Первопричина для этого изменения поведения по умолчанию в udisks2 кажется ясной: безопасность. Более безопасно ограничить доступ к файловой системе одному конкретному пользователю вместо того, чтобы предоставить доступ к нему всем пользователям системы.
В моем случае это выглядит так в /media
:
$ ls -l /media | grep $USER
drwxr-x---+ 3 root root 4096 Jan 22 15:59 oli
По сути это означает, что только пользователь root может взаимодействовать с каталогом. Это очень важно для безопасности (безусловно, мешает другим пользователям видеть, не говоря уже о краже / удалении / изменении данных), но на этом история не заканчивается.
Вы можете заметить знак плюс в конце маски разрешения. Это означает, что ACL (Access Control List) используется. Это позволяет получить гораздо более детальные разрешения.
$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---
Именно через ACL мой пользователь может просматривать содержимое /media/oli
. Мне все еще не разрешено редактировать содержимое.
В современных настольных компьютерах (как Gnome, так и KDE) монтируется udisks2
:
root 2882 0.3 0.0 195956 4048 ? Sl Jan16 30:35 /usr/lib/udisks/udisks-daemon
root 2887 0.0 0.0 47844 784 ? S Jan16 0:00 udisks-daemon: not polling any devices
root 3386 0.0 0.0 429148 6980 ? Sl Jan16 7:35 /usr/lib/udisks2/udisksd --no-debug
Как вы можете видеть, он работает там как root, поэтому, когда что-то обращается к нему через DBUS, он может создавать точки монтирования в / home / $ USER и привязывать их к вашему пользователю, чтобы они могли редактировать содержимое.
1116 Ничто из этого не меняет того, что я сказал изначально. Я просто объясняю, как это работает на практике. Это то, как что-то на вашем рабочем столе в действительности разрешено писать куда-то, что разрешено только пользователю root, и как вашему пользователю разрешено читать это, несмотря на иное ограничение владения.
Все это превращает его в среду, безопасную для данных пользователя, но в то же время затрудняющую для пользователя вмешиваться в структуру монтирования. Они не могут, например, удалить точку монтирования или переименовать ее, что может вызвать проблемы, если у них нет корневого доступа.
Редактировать : Что-то, что мне пришло в голову, это то, что это также дает администратору хорошее место для монтирования вещей для одного пользователя. Разрешения по умолчанию помогают сохранить это монтирование частным и защитить его от вмешательства пользователя. Похоже, что для того, что выполняется без каталога /media/$user/
, достаточно разумного значения по умолчанию, требуются права суперпользователя.
Я согласен с другим ответом и комментариями в дополнение к этому
root:root
, чтобы избежать в основном двух ситуаций.
1. Риск безопасности: хакерский скрипт, который выдает / dev / zero на / media / user /, который заполняет корневой раздел и, следовательно, не может войти или плохая производительность.
2. Конфликт с udisk2: предположим, что раздел с меткой backup . Удиски монтируют его @ / media / user / backup. Пользователь вручную создал вышеуказанный каталог, который заставит udisk изменить точку монтирования на что-то вроде / media / user / backup1 и, таким образом, будет введен в заблуждение сценариями резервного копирования и т. д.
Менталитет Linux (и * nix) в целом основан на принципе Least amount of necessary privileges.
Обычно современные Desktop Environments
монтируют ваши устройства под /media/username/devicepartitionname
. Это означает, что для того, чтобы устройство могло использоваться, вам нужно иметь только папку devicepartitionname
и все, что находится под ней. Это означает, что ваша папка /media/username
все еще может принадлежать root
, и это сделает ее более безопасной.
Также монтировать что-либо на /media/username
- плохая идея, так как это заставит ваш DE
попытаться смонтировать раздел в папку на другом смонтированном разделе, что может привести к большому количеству !! FUN !! (также возможна потеря данных).