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

20

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

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


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

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

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

david.libremone
источник
Монтирование обычно включает в себя доступ с правами root. Вы можете (как вы сделали) настроить разрешения. Однако это никоим образом не может стать поведением по умолчанию в Linux. Представьте, что произойдет, если любой пользователь (не администратор) сможет смонтировать, как вы. Это будет полный хаос. :)
rbaleksandar

Ответы:

20

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

Оли
источник
2

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

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

Prinz
источник
2

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

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

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

Wolfer
источник
спасибо за простой, но не упрощенный ответ ... Я пояснил выше, что GnomeEncFS монтируется на /media/username/someplaceнет /media/username... Вы конкретно говорите, что он должен принадлежать root, будет root:usernameлучше, чем username:rootв моем случае? или они оба представляют одну и ту же проблему безопасности? (см. этот вопрос, почему я все равно должен это делать askubuntu.com/questions/392063/… )
david.libremone
@ d3vid: Зависит, во втором случае, если вы не изменили разрешение по умолчанию, ваш обычный пользователь не сможет писать /media/user(как это 750), что немного лучше, чем в первом случае. Что касается монтирования: исторически /mntи его подпапки считаются точкой монтирования по умолчанию для всего, что /mediaбыло добавлено только для того, чтобы люди, которые просто хотят использовать Linux, не понимая, как все работает, не будут смущены всеми странные папки и еще много чего /.
Вольфер
@ d3vid: Что касается безопасности: это потому, что папки, к которым у вас есть доступ на запись и доступ для выполнения, могут быть использованы хакером / взломщиком / кем бы вы ни хотели позвонить ему, чтобы загрузить двоичные файлы, которые они затем могут использовать для получения rootдоступа к твоя коробка. (Это называется повышением привилегий.) Хотя вы не должны делать свою систему намеренно более небезопасной, есть места по умолчанию, которые допускают одно и то же (и являются более неясными и поэтому снижают вероятность обнаружения действий хакеров). Таким образом, «проблема безопасности» в этом случае может быть проигнорирована в зависимости от вашей настройки.
Вольфер
1
@Wolfer - я откатился до версии вашего ответа, которая не содержит оскорбительных выражений. Давайте постараемся, чтобы вопросы и ответы были как можно более чистыми, и постарались не вызвать никаких обид. Спасибо.
fossfreedom