Почему полномочия по умолчанию для/media/username root:root?

Я настроил полномочия на /media/username от root:root кому: username:root [1]. Я понимаю, что ориентированное на пользователя местоположение позволяет ориентированные на пользователя полномочия [2].

Но почему были полномочия для этой папки root:root во-первых?


[1] Так, чтобы я мог смонтировать зашифрованные папки там с менеджером Gnome EncFS. Например, я могу теперь смонтировать зашифрованную папку как /media/username/personal-documents.

[2] От того, Почему Ubuntu переместила точки монтирования по умолчанию?:

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

20
задан 13 April 2017 в 15:24

3 ответа

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

0
ответ дан 13 April 2017 в 15:24

Я согласен с другим ответом и комментариями в дополнение к этому

root:root, чтобы избежать в основном двух ситуаций.
1. Риск безопасности: хакерский скрипт, который выдает / dev / zero на / media / user /, который заполняет корневой раздел и, следовательно, не может войти или плохая производительность.
2. Конфликт с udisk2: предположим, что раздел с меткой backup . Удиски монтируют его @ / media / user / backup. Пользователь вручную создал вышеуказанный каталог, который заставит udisk изменить точку монтирования на что-то вроде / media / user / backup1 и, таким образом, будет введен в заблуждение сценариями резервного копирования и т. д.

0
ответ дан 13 April 2017 в 15:24

Менталитет Linux (и * nix) в целом основан на принципе Least amount of necessary privileges.

Обычно современные Desktop Environments монтируют ваши устройства под /media/username/devicepartitionname. Это означает, что для того, чтобы устройство могло использоваться, вам нужно иметь только папку devicepartitionname и все, что находится под ней. Это означает, что ваша папка /media/username все еще может принадлежать root, и это сделает ее более безопасной.

Также монтировать что-либо на /media/username - плохая идея, так как это заставит ваш DE попытаться смонтировать раздел в папку на другом смонтированном разделе, что может привести к большому количеству !! FUN !! (также возможна потеря данных).

0
ответ дан 13 April 2017 в 15:24

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

Похожие вопросы: