Назад | Перейти на главную страницу

Отказано в разрешении перемонтировать tmp для exec

Я запускаю Fedora Linux на MediaTemple, используя их (ve) виртуальный Linux-ящик. Практически чистая установка (Linux ************ 2.6.18-028stab089.1 # 1 SMP Thu Apr 14 13:46:04 MSD 2011 x86_64 x86_64 x86_64 GNU / Linux).

Я пытаюсь выполнить несколько установок Pear, и мне нужно /tmp быть переустановленным с exec вариант. Нет проблем, правда? Так что я бегу как root и я просто иду на это:

[root@host ~]# mount -o remount,exec /tmp
mount: permission denied
[root@host ~]#

Что ж, это довольно неожиданно. Служба поддержки MediaTemple не оказывает в этом никакой помощи - это не входит в SLA. Учитывая, что это довольно ванильная установка, возможно, кто-то знает, что здесь не так?

РЕДАКТИРОВАТЬ:

Вот дополнительная информация. Бег mount показывает это:
[root@host ~]# mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
/dev/simfs on /tmp type simfs (rw,noexec,relatime,usrquota,grpquota)
/dev/simfs on /var/tmp type simfs (rw,noexec,relatime,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type tmpfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
[root@host ~]#

Содержание /etc/fstab является:

none /dev/pts devpts rw 0 0

Затем я попытался добавить эту строку в /etc/fstab:

/dev/simfs /tmp simfs rw,exec,relatime,usrquota,grpquota 0 0

Затем бег mount /tmp приводит к:

mount: unknown filesystem type 'simfs'

Я немного не понимаю, как simfs отображается при запуске mount, но когда вы добавляете его в /etc/fstab это не распознается. Тем не менее, это, похоже, не решает мою проблему, поэтому я все еще застрял. Любые идеи?

ОБНОВЛЕНИЕ 25.06.11

@jamiers нашел обходной путь, опубликованный MediaTemple (см. ниже). Однако теперь меня интересует более фундаментальный аспект этой проблемы. Почему вы не можете перемонтировать tmp с другими параметрами в виртуальной среде? Насколько я могу судить, в виртуальной среде нет ничего ограничивающего, что могло бы помешать вам сделать что-то подобное. Есть ли у кого-нибудь идеи, почему это так?

У меня была такая же проблема при установке PHP APC. Я следовал инструкциям внизу этого руководства: https://kb.mediatemple.net/questions/1987/Noexec+and+%7B47%7Dtmp+Troubleshooting#ve о создании chrooted окружения.

Надеюсь это поможет!

Чтобы смонтировать tmp без noexec, вам необходимо перемонтировать его с узла оборудования.

Дополнительные сведения см. В следующей документации.

http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUG/18548.htm

Имейте в виду, что вы используете ядро ​​MediaTemple (и вы не можете это изменить). Он может разрешить или отрицать все, что хочет. Вам может понадобиться исходный код их ядра, чтобы действительно это понять. Может это ограничение файловой системы simfs?

Преамбула

так как я не могу комментировать, я оставлю ответ. люди действительно необходимо изучить openVZ (среди других технологий ..) перед публикацией ...

Я понимаю, что это был вопрос несколько лет назад, но я намерен устранить неоднозначность лжи об OpenVZ / Virtuozzo и дезинформации о виртуализации операционных систем, которая распространяется и сегодня

OpenVZ

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

это похоже на Chroot на стероидах, но с возможностью ограничивать таблицы процессов и раздельное использование оборудования, что, в свою очередь, позволяет свободно управлять операционными системами внутри операционных систем: но с повышенным уровнем дополнительной безопасности и конфиденциальности или изоляции при этом все еще разрешая root-доступ.

К сожалению, такая же ложь распространяется и о функции Chroot ... каждый скажет вам использовать виртуализацию, и что это не функция безопасности. в большинстве случаев это совсем не так, обвинения в небезопасности полностью ложны, поскольку Chroot напрямую интегрирован в различные популярные программы, обычно как мощная функция безопасности и изоляции (при использовании правильно)

Важное замечание: не каждый администратор имеет уровень знаний, необходимый для защиты всех необходимых параметров ядра на выделенном сервере или при полной виртуализации системы.

это означает, что развертывание OpenVZ означает, что у ваших клиентов будет гораздо меньше возможностей для атаки и защиты перед развертыванием. их Приложения. хороший хост будет хорошо защищать эти параметры, а это, в свою очередь, лучше не только для всех на Узле или в дата-центре, но и для Интернета в целом ...

Почему бы не изменить?

"рассматривает возможность изменения", как предлагает Майкл Хэмптон, на полная виртуализация системы, из-за «малоизвестных проблем» не только излишки, которые совершенно не нужны. это признак того, что человек не до конца понимает предназначение. полная симуляция системы включает в себя все, включая BIOS и аппаратные прерывания,

это означает, что у вас меньше накладных расходов при использовании OpenVZ, и, следовательно, в прямой зависимости от того, что показывают доказательства (например, тесты производительности), это обычно приводит к более быстрой виртуальной машине, особенно для тех, кто с меньшим уровнем понимания * nix, не говоря уже о более высокий уровень безопасности.. (предполагать, что каждый пользователь виртуальной машины понимает безопасность ядра и пользовательские исправления, это неправдоподобно)

переход на новую технологию всегда будет сложным, а для развития новых технологий в мире открытого кода ВСЕГДА потребуется время, чтобы их усовершенствовать.

Теперь меня интересует более фундаментальный аспект этой проблемы. Почему вы не можете перемонтировать tmp с другими параметрами в виртуальной среде?

Так в чем проблема?

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

объяснение простое, в том, что openVZ моделирует операционную систему, а не ядро. предоставление гостевого доступа к настройкам оборудования было бы небезопасным. у вас нет прямого доступа к оборудованию, устройствам или файловым системам.

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

наконец, simfs - это смоделированная файловая система устройство для использования с openVZ и не распознается командой mount file-system (AFAIK).

И как мне это исправить?

не уверен, что это так для вас, но это должно быть разрешено в большинстве новых версий ядра, просто выдает

mount --bind -o defaults,exec /tmp /tmp

а в версии ядра, которую использует один из моих хост-узлов, я просто удалил / dev / simfs внутри fstab, и mount -a работает как положено ...

пример: none /tmp simfs defaults,exec 0 0

Надеюсь, это кому-нибудь поможет.