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

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

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


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

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

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

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 и размещать их для вашего пользователя, чтобы они могли редактировать содержимое.

Ничто из этого не меняет того, что я сказал изначально. Я просто объясняю, как это работает на практике. Это то, как что-то на вашем рабочем столе в действительности разрешено писать куда-то, что разрешено только пользователю root, и как вашему пользователю разрешено читать это, несмотря на иное ограничение владения.

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

Изменить: Что-то, что только что пришло мне в голову, это то, что это также дает администратору хорошее место для монтирования вещей для одного пользователя. Разрешения по умолчанию помогают сохранить это монтирование частным и защитить его от вмешательства пользователя. Похоже, довольно вменяемый по умолчанию для чего-то, что сделано без /media/$user/ каталог, потребуются права доступа root.

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

root:root избегать в основном двух ситуаций.
1. Риск безопасности: хакерский скрипт, который сбрасывает /dev/zero в / media / user /, который заполняет корневой раздел и, следовательно, не может войти в систему или имеет плохую производительность.
2. Конфликт с udisk2: предположим, что раздел с резервной копией метки. Udisks смонтировать его @ /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!! (также возможна потеря данных).

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