权限被拒绝重新安装tmp的exec

我使用他们的(虚拟)虚拟Linux机器在MediaTemple上运行Fedora 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)。

我试图做一些梨安装,并需要/tmpexec选项重新安装。 没问题吧? 所以我以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'

我有点困惑,当你运行mount时,如何列出simfs ,但是当你将它添加到/etc/fstab它是无法识别的。 尽pipe如此,这似乎并没有解决我的问题,所以我仍然卡住了。 有任何想法吗?

更新6/25/11

@jamiersfind了MediaTemple发布的解决方法(见下文)。 但是,我现在想知道这个问题的更基本的方面。 为什么你不能在虚拟环境中重新安装不同的选项? 从我所知道的情况来看,在虚拟环境中没有固有的限制,会阻止你做这样的事情。 有没有人有一个想法,为什么这样的话?

尝试安装PHP APC时遇到同样的麻烦。 我遵循本指南底部的说明: https : //kb.mediatemple.net/questions/1987/Noexec+and+%7B47%7Dtmp+Troubleshooting#ve关于创build一个chrooted环境。

希望这可以帮助!

请记住,你正在运行MediaTemple的内核(你不能改变这一点)。 它可以允许或拒绝任何想要的。 你可能需要他们的内核来源来真正理解它。 也许这是对simfs文件系统的限制?

为了安装没有noexec的tmp,你需要从硬件节点重新挂载它。

有关更多信息,请参阅以下文档。

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

前言

既然我不能评论,生病留下一个答案。 在发布之前,人们确实需要对openVZ(以及其他技术)进行研究。

我意识到这是几年前的一个问题,但是我打算消除关于OpenVZ / Virtuozzo的谎言,并且关于操作系统虚拟化的虚假信息至今仍在传播

OpenVZ的

openVZ是一个伟大的技术,可用于过多的用途。 操作系统级别虚拟化有许多用途,许多人都属于需要这种级别的模拟的范畴。

它就像一个类固醇Chroot,但能够限制进程表和单独的硬件利用率,反过来允许在操作系统内stream畅的操作系统: 但增加了额外的安全和隐私或隔离层,同时仍然允许根访问。

不幸的是,同样的谎言散布在Chrootfunction周围……每个人都会告诉你使用虚拟化,而这不是一个安全function。 大多数情况下,这是完全不正确的,不安全的指责是完全错误的,因为Chroot直接集成到各种stream行的软件中,通常作为强大的安全和隔离function正确使用

需要注意的一点是,不是每个pipe理员都具有在专用服务器或全系统虚拟化环境下保证所有必要的内核参数所需的知识水平。

这意味着部署OpenVZ意味着在部署应用程序之前,您的客户将拥有更less的攻击面来覆盖和保护。 一个好的主机能够很好地保证这些参数,反过来说,这不仅对节点上的每个人,对数据中心,对整个互联网来说都是好事。

为什么不改变?

正如迈克尔·汉普顿(Michael Hampton)所言,“考虑改变”对整个系统的虚拟化来说 ,由于“一些未知的问题”并不是完全没有必要的。 这是一个不完全理解预期目的的迹象。 完整的系统模拟包括了一切,比如bios和硬件中断,

这意味着在使用OpenVZ时,你没有太多的头脑,因此,与证据的结论(即基准)直接相关,这通常会导致更快的虚拟机,特别是对于对* nix,更不用说更高级别的安全性了 (假定每个拥有虚拟机的用户都了解内核的安全性和自定义的补丁是不可思议的)

转向新技术总是会变得复杂,开源世界的新兴技术总是需要时间来完善。

我现在想知道这个问题的更基本的方面。 为什么你不能在虚拟环境中重新安装不同的选项?

那么问题是什么?

有了这个说法, 并回答你的问题 ,在大多数现代OpenVZ内核这些天,问题是内核可插拔模块似乎是“失踪”,特别是对直接依赖于他们的命令。 但他们仍然在那里

说明很简单,在openVZ模拟操作系统,而不是内核。 让访客访问硬件相关的设置将是不安全的。 您不能直接访问硬件,设备或文件系统。

这可能听起来很麻烦,但不是 (一旦你得到了它的窍门),以及在新用户和有经验的用户的安全性之间的权衡需要了解如何解决(有经验的用户应该知道怎么做)真诚地是一个微不足道的。 在一个真正安全的专用机器或KVM上,无论如何你都会想要实现许多存在于容器中的内核层证券

最后,simfs是与openVZ一起使用的模拟文件系统设备 ,并且不会被mount文件系统命令(AFAIK)识别。

我该如何解决这个问题?

不知道这是你的情况,但它应该可以解决在大多数新的内核版本只是发行

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

而在我的主机节点使用的内核版本中,我只是将/ dev / simfs放在fstab中,并且mount -a按预期工作。

例如: none /tmp simfs defaults,exec 0 0

我希望这有助于某人。