Если это доступно для Ubuntu 11.10, И это - библиотека только для заголовка, то можно просто загрузить и установить вручную пакет с
cd /tmp
wget http://launchpadlibrarian.net/72511308/libglm-dev_0.9.2.0-2_all.deb
dpkg -i libglm-dev_0.9.2.0-2_all.deb
Это - и историческое и ограничение безопасности.
Исторически, большинство дисков не было съемным. Таким образом, имело смысл ограничивать монтирование людьми, у которых был законный физический доступ, и у них, вероятно, будет доступ к корневой учетной записи. fstab записи позволяют администраторам делегировать монтирование другим пользователям для съемных дисков.
С точки зрения безопасности существует три основных проблемы с разрешением произвольным пользователям смонтировать произвольные блочные устройства или изображения файловой системы в произвольных местоположениях.
/etc
, с /etc/shadow
содержа пароль root, который Вы знаете. Это фиксируется, позволяя пользователю смонтировать файловую систему только на каталоге, которым он владеет.nosuid
и nodev
опции, которые подразумеваются при наличии user
в /etc/fstab
.user
когда mount
не назван корнем, достаточно. Но в более общем плане способность создать файл, принадлежавший другому пользователю, проблематична: содержание того файла рискует приписываться подразумеваемым владельцем вместо mounter. Случайная сохраняющая атрибут копия корнем к другой файловой системе произвела бы файл, принадлежавший объявленному-но-невключенному владельцу. Некоторые программы проверяют, что запрос для использования файла является легальным путем проверки, что файл принадлежит конкретному пользователю, и это больше не было бы безопасно (программа должна также проверить, что каталоги на пути доступа принадлежат тому пользователю; если бы произвольное монтирование было позволено, то они должны были бы также проверить, что ни один из этих каталогов не точка монтирования, где монтирование не было создано ни корнем, ни требуемым пользователем).Практически, возможно в наше время смонтировать файловую систему, не будучи корнем через FUSE. Драйверы FUSE работают как монтирующийся пользователь, таким образом, нет никакого риска расширения полномочий путем использования ошибки в коде ядра. Файловые системы FUSE могут только выставить файлы, которые у пользователя есть разрешение создать, который решает последнюю проблему выше.
Если пользователь имеет прямой доступ для записи к блочному устройству и может смонтировать, что блочное устройство, то они могут записать suid исполняемый файл в блочное устройство, монтируется, оно, и выполняет тот файл, и таким образом, получает корневой доступ к системе. Поэтому монтирование обычно ограничивается корнем.
Теперь корень может позволить обычным пользователям монтироваться с определенными ограничениями, но он должен удостовериться что, если у пользователя есть доступ для записи к блочному устройству, что монтирование запрещает suid, и также devnodes, которые имеют подобную проблему (пользователь может обработать devnode, который дает им доступ для записи к важному устройству, у них не должно быть доступа для записи к).
Это не всегда требует супер privs. От man mount
The non-superuser mounts.
Normally, only the superuser can mount filesystems. However,
when fstab contains the user option on a line, anybody can mount
the corresponding system.
Thus, given a line
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
any user can mount the iso9660 filesystem found on his CDROM
using the command
mount /dev/cdrom
or
mount /cd
For more details, see fstab(5). Only the user that mounted a
filesystem can unmount it again. If any user should be able to
unmount, then use users instead of user in the fstab line. The
owner option is similar to the user option, with the restriction
that the user must be the owner of the special file. This may be
useful e.g. for /dev/fd if a login script makes the console user
owner of this device. The group option is similar, with the
restriction that the user must be member of the group of the
special file.
mount()
системный вызов всегда требует корня. утилиты suid могут стать корнем и позволить не пользователям root монтироваться, и если mount
команда установлена suid, затем это сделает это на основе пользовательского флага в fstab. Другие suid исполняемые файлы были записаны, чтобы позволить пользователям монтироваться, такой как pmount
, который позволяет пользователям монтировать внешние медиа и осуществляет соответствующие ограничения, такие как nosuid, nodev.
– psusi
17.02.2013, 20:13
Kormac и другие указали, что это не дилемма, Вы представляете его как; это кажется мне, это сводится к философии явного предоставления пользовательских полномочий по сравнению с системой, посредством чего все пользователи имели бы неизменное право смонтировать файловую систему.
Gilles обращается к некоторым проблемам безопасности, связанным с монтированием файловых систем. Я задним числом избегу prologed и тангенциальной дискуссии о потенциальных технических вопросах, связанных с этим (см. комментарии), но я действительно думаю, что справедливо, что недоверяемые пользователи не имеют неизменное право смонтировать жесткие диски.
Проблема относительно виртуальных файловых систем и удаленных файловых систем (или удаленных файловых систем через виртуальные файловые системы, а-ля FUSE) является менее значительной, но это не решает вопрос о безопасности (хотя FUSE мог бы, и это, конечно, решит Вашу проблему). Также важно полагать, что к данным в таких файловых системах можно почти всегда получать доступ без потребности в монтировании устройства, или посредством передачи файлов или посредством инструментов, которые извлекают из изображений без монтирования, таким образом, система, которая не позволяет Вам монтировать что-то, не представляет непреодолимую проблему относительно доступа к данным, которые Вы причудливо поместили в файл изображения или (более понятно) хотите добраться от удаленной системы. Если у Вас есть ситуация, где дело обстоит не так, могло бы иметь смысл спрашивать:
Что это точно, я пытаюсь сделать?
Где я пытаюсь сделать это?
Если администрирование системы справедливо, то № 2 объясняет, почему № 1 невозможен для Вас. Если администрирование системы не справедливо, это - политика. Решение проблемы, "Мой sys администратор не справедлив", не состоит в том, чтобы перепроектировать ОС так, чтобы sys администраторы везде не могли ограничить пользователей.
Система позволяет суперпользователю ограничивать Ваши операции, или явно, или пропуском ("Мы не обеспечиваем FUSE", и т.д.). Полномочия являются одним механизмом, посредством которого это выполняется. Не может быть хорошо быть сказанным, "Вы не должны делать этого", но если это верно... que сыворотки... Вы не должны делать этого. Используйте ftp и т.д. Если это не верно, необходимо пристать к ответственным.
К вашему сведению: новейшие ядра имеют поддержку "пространства имен". Обычные пользователи могут создать пространство имен, и в том пространстве имен, стать root
и сделайте забавному материалу нравится, монтируют файловые системы.
Это не дает Вам "реальные" полномочия суперпользователя, хотя - можно только сделать то, что Вам уже разрешают сделать (т.е. можно только смонтировать устройства, которые можно уже считать).
Раздел http://lwn.net/Articles/531114/ See 4.
Поскольку данные по файловой системе, которую они намереваются смонтировать, могли бы поставить под угрозу безопасность сервера или даже разрушить его (если бы это было намеренно создано тот путь).
owner
и user(s)
набор nosuid
. Вы не хотели бы кого-то способность обойти это легко с разрешением им вручную удалить nosuid
– R. S.
17.02.2013, 03:05
В GNOME gvfs не требует, поддерживают монтирование удаленной файловой системы (ftp или ssh) и монтируются гном, также не должен поддерживать монтирование внешнего устройства хранения данных (карта памяти, CD/DVD, и т.д.).
Большинство систем, вероятно, не хотело бы иметь целый GNOME только для некоторого удаленного монтирования, затем можно использовать наветренные стороны, sshfs или ftpfs.
gvfs, наветренные стороны, sshfs, и ftpfs используют FUSE, чтобы позволить некорневым пользователям монтировать виртуальную файловую систему; и в отличие от монтирования -o user
, FUSE не требует, чтобы системный администратор расположил определенное монтирование. Пока у Вас есть полномочие для каталога монтирования и к любым ресурсам, которые необходимы для построения файловой системы, можно создать FUSE, монтируются.
Почему действительно монтируется, требуют полномочий пользователя root?
Поскольку mount
прежде всего/первоначально, предназначается для локальной файловой системы, которая почти всегда включает аппаратные средства.