Мне интересно, можно ли запустить сервер Linux с диска только для чтения, в частности CentOS 5.4.
В нашей системе есть несколько компьютеров с Linux, на каждой из которых установлен собственный диск с установленной ОС. На данный момент все доступно для чтения и записи. Мы загружаемся с этих дисков, но запускаем все наше программное обеспечение, которое мы разрабатываем, на некоторых внешних дисках, совместно используемых через NFS.
Что мы хотим сделать, так это убедиться, что ничего не Когда-либо записывается на внутренний диск с установленной на нем ОС, только на внешний диск, доступный через NFS. Я думаю, что мы, вероятно, сможем справиться с этим, отредактировав файл / etc / fstab и установив диск только для чтения.
Итак, если бы мы сделали образ внутреннего диска, затем загрузили систему, запустили наше программное обеспечение (которое будет касаться только внешних дисков), затем выключили систему и взяли другой образ внутреннего диска, то не было бы ни одного байта, отличного от .
Сама ОС захочет записывать свои собственные файлы журналов и т. Д., Поэтому я не вижу, что установка дисков только для чтения приведет к работающей операционной системе - или не так ли?
Я могу только думать, что это может быть достигнуто с помощью какой-то сетевой загрузки, но нет никакой возможности добавить дополнительную машину, которая будет действовать в качестве DHCP и TFTP-сервера для этого.
Любая помощь или идеи будут очень признательны! :)
Да, можно запустить сервер Linux с носителем только для чтения. См. Devil Linux; эти серверы работают с компакт-диска.
Вы можете создать доступное для записи пространство для таких вещей, как файлы журналов, используя RAM-диск. Хотя места будет очень мало. Я бы не рекомендовал делать это, за исключением очень особых обстоятельств.
В большинстве случаев вы можете гибридизировать процесс; большая часть сервера предназначена только для чтения, но для файлов журнала на внутреннем диске или USB-накопителе остается мало места.
Вы также можете сделать это с помощью загрузочных маршрутизаторов Linux, поскольку я видел, как они загружаются с дискеты, доступной только для чтения.
Еще один недостаток - обновления. Мысль заключалась в том, что даже если бы кто-то и взломал какую-то брешь, он не смог бы нанести большого ущерба, поскольку, я думаю, он не мог изменить системные файлы или что-то подобное. Периодически вы обновляете главный образ или получаете самый новый ISO-образ и используете его для загрузки в качестве обновления; с сервером Devil Linux, с которым я экспериментировал, у меня был образ ISO для загрузки, затем я использовал USB-диск для извлечения файлов конфигурации для этого сервера. В качестве альтернативы вы можете отредактировать файлы, необходимые для вашей конкретной установки, и повторно интегрировать их в каталог / etc компакт-диска и перезаписать диск.
В любом случае, да, это можно сделать, но это хлопотное обслуживание, и это следует учитывать только в очень специализированных случаях.
Запускайте свои системы не с жесткого диска, а с USB-накопителя Live USB, защищенного от записи. В Fedora есть утилита livecd-iso-to-disk, которая также работает с Centos LiveCD. Вы можете легко настроить его, используя функцию «наложения», а затем включите защиту от записи.
Изменения на системном диске будут возможны, но не сохранятся после перезагрузки - они будут только в памяти.
Простое монтирование разделов только для чтения не очень поможет с безопасностью, так как при взломе системы первое, что сделает взломщик, - это перемонтирует ее для чтения и записи. Только физическая безопасность гарантирует, что никакие данные на диске не будут изменены.
Но вы никогда не получите обновления безопасности для этих систем, поэтому будьте очень осторожны.
Думаю, это возможно - я полагаю, вам следует поближе взглянуть на Live CD и сделать собственный live cd.
"I'm wondering if it is possible to run a Linux server from a read only disk, specifically CentOS 5.4."
Нет, серверу потребуется место для записи данных. Журналы - хороший тому пример.
Однако вы можете настроить разделы таким образом, чтобы система была отделена от остальной части вашего хранилища.
Например, я обычно разбиваю рабочий стол, чтобы иметь раздел / home / для пользовательских данных, корневой раздел / для всего остального, а затем любые дополнительные диски, которые я разбиваю самостоятельно и добавляю в fstab после установки, чтобы смонтировать их там, где они принадлежат.