Используйте виртуальную машину. Что-либо меньше не обеспечивает много безопасности.
Несколько лет назад я, возможно, предположил, что chrooted выделил пользователя или некоторых такой. Но аппаратные средства стали более мощными, и программное обеспечение виртуальной машины стало легче использовать. Кроме того, стандартные нападения стали более сложными. Больше нет никакой причины не пойти целым путем здесь.
Я рекомендовал бы выполнить VirtualBox. Можно настроить виртуальную машину через несколько минут, затем установить дистрибутив Linux в ней. Единственная установка не по умолчанию, которую я рекомендую, является сетевой установкой: создайте обоих интерфейс “NAT” (для общения с миром) и “хост только” интерфейс (таким образом, можно легко скопировать файлы в и от хоста и ssh в VM). Отключите интерфейс NAT, в то время как Вы запускаете программы своих студентов ¹; включите его только, когда Вы установите или обновите пакеты программного обеспечения.
В виртуальной машине создайте одного пользователя на студента.
¹ можно ограничить интерфейс NAT белым списком пользователей, но это более совершенствуется, чем Вам нужно в простой, установке к точке.
Принятием этого является Linux, Вы могли также использовать tmpfs
(см. здесь для различий, т.е. почему могло бы быть желательно использовать tmpfs
), который объяснен здесь и (см. ссылку), поддерживает опции mode
, gid
и uid
. Существует следующий параграф в tmpfs.txt
который мог бы также быть релевантным:
These options do not have any effect on remount. You can change these
parameters with chmod(1), chown(1) and chgrp(1) on a mounted filesystem.
Таким образом, возможно, a sudo chown ...
все еще необходим (я предполагаю не, но я не совсем уверен в этом, извините.)
Если Вы хотите избежать sudo, Вы могли бы использовать утилиту автоматического монтирования здесь (сервис autofs). Ищите исполняемые автомонтировать-карты. Там можно написать сценарий чего-либо, что Вы хотите прежде, в течение и после фактического монтирования.
Обычно несколько опасно предоставить некорневой доступ к ramfs, монтируются, так как (злонамеренный/неосведомленный) пользователь мог поместить достаточно данных в него для заполнения всей доступной системной RAM. Как другие выше упомянули, что-то как tmpfs или даже диск поршня могло бы быть более желательным для некорневого использования. (сообщение _ сэра имеет некоторые действительно хорошие чтения.)
После монтирования электронного диска, /home/jreinhart/ramdisk
становится корнем смонтированной файловой системы. По-видимому, этот каталог принадлежит корню. Измените его (и любой другой соответствующий файл на электронном диске) раз и навсегда для владения jreinhart
.
Вы, возможно, видели другое поведение для файловых систем как vfat. В файловых системах, которые не имеют никакого понятия владения, драйвер файловой системы пытается придумать разумное поддельное владение, обычно делая каждый файл принадлежавшим пользователю, который смонтировал файловую систему. Файловые системы как ramfs
это обеспечивает, нормальные полномочия Unix выставляют их непосредственно.
У меня была такая же проблема. Использование mode = 777
вместо umask = 777
как вариант, похоже, работает (Ubuntu 15.10).