В ответ на топик «В комнате с белым потолком».
Введение
В топике было предложено эффективное решение для устранения некоторых проблем эникеем. Дополним и означим их списком:Последствия работы вирусов, а, иногда, и последствия борьбы с вирусами приводят к состоянию системы, в котором она «недолечена» или «недочищена»;
Слабое железо или жадность не позволяет использовать серьезные антивирусные пакеты;
Ошибки пользователей или специализированных программ приводят к неменьшему ущербу, чем вредоносные программы (случай, когда у программы сложно забрать рута, а работает она не очень оптимально);
Система подвержена естественному (для нее) «замусориванию» со временем;
Ошибки администратора системы может приводить к серьезным последствиям (напр., неудачная попытка обновиться);
Отсутствие автоматизированной системы для резервного копирования (напр., есть Acronis, но не сетевой);
и прочие ...
Там же (в топике) автором было предложено интересное и, безусловно, полезное решение с использованием системы «заморозки» системного раздела операционки с предварительным переносом Профиля и «Program Files» на другой раздел. В комментарии хотелось бы заметить некоторые недостатки.
Автор пишет, что после установки ОС сложно перенаправить Профиль и «Program Files». Для решения этой задачи он предлагает использовать специализированные утилиты, редактор реестра, а процесс усложняется перезагрузкой с носителя и изменением важных системных файлов. На мой взгляд, стоит подумать об использовании популярной утилиты nLite, которая на этапе создания дистрибутивного образа диска позволяет указать будущую папку профилей и «Program Files» (система сразу будет устанавливаться с указанными параметрами).
Также, автор вынужден устанавливать все обновления вручную, т.к. «разморозка» системного диска производится вручную администратором. Это совсем неудобно, когда количество машин более, скажем, 20ти.
Автор замечает, что целесообразно использовать RAMDrive для хранения временных папок вроде «Temp», т.к. при перезагрузке многие вредоносные программы уничтожаются вместе со всеми данными в результате отключения питания. Это весьма действенный способ в случае, если объем ОЗУ избыточен.
В настоящем топике будет предложен альтернативный путь решения проблем
Принцип работы
1. Компьютер загружается с ОС Windows, в конфиге загрузчика меняется ОС по умолчанию на ОС Linuxесли есть «задания» от администратора, то происходит копирование файла-задания (запароленный архив) на локальный диск с ftp-сервера «заданий» (место, куда выкладываются архивы администратором);
если компьютер запущен для выполнения задания, то на самом раннем этапе загрузки отключается сетевой адаптер, распаковывается архив и запускается start.exe (например) для выполнения задания;
2. Компьютер загружается с ОС Linux, в конфиге загрузчика меняется ОС по умолчанию на ОС Windowsесли компьютер при предыдущем запуске выполнял задание администратора, то сделать бэкап и пометить его как самый актуальный;
если компьютер не выполнял заданий при прошлой загрузке, то восстановиться из самого актуального бэкапа, примонтировать разделы с профилями, «Program Files» и проверить на наличие вирусов. Уйти в перезагрузку.
Реализация в три этапа
1. Установка ОС Windows производится с образа, подготовленного NLite, с указанием пути до папки с профилями и «Program Files».
* Перед установкой требуется создать два раздела: для системного раздела Windows, для Профилей и «Program Files».
2. Установка ОС Linux (я использовал Debian Lenny в минимальной сборке):На диске предлагается создать дополнительный (для удобства) раздел где будут храниться бэкапы (файловая система не должна поддерживаться ОС Windows, это сделает невозможной простую модификацию образов/бэкапов);
Grub рекомендуется устанавливать на выделенный для него раздел (Важно, чтобы можно было изменять конфиг как под Windows так и под Linux).
3. Добавление скриптов:в автозагрузку Windows добавляется программа, которая меняет в конфиге Grub'а запуск операционки «по дефолту» на Linux (exe'шник удобно подготовить с помощью BatchToExe из bat'ника, это позволит малой кровью добавить функционал без знаний в области программирования);
в «автозагрузке» Linux добавить скрипт изменения конфига Grub для запуска ОС Windows по умолчанию;
создание прочих вспомогательных скриптов на усмотрение администратора.
На мой взгляд, наиболее подозрительным является размещение Grub'а на раздел FAT (ведь конфиг может быть изменен несанкционировано). Дело в том, что я просто не помню как я заставлял Граб по условию запускать операционку. Но хаброжителям не составит труда реализовать иначе… например, разумнее было бы использовать Grub2, и в самом грабе реализовать свитчер операционок.
В данном топике сформулирована идея, которая успешно была реализована в двух компаниях. Для нас это было спасение, т.к. машины слабые и активные антивирусные пакеты невозможно было использовать. Если кому-то интересно получить более подробную информацию или уточнить конкретные реализации, то милости прошу в комменты.
! Ни в коем случае, данное решение не снимает обязанностей по грамотной настройке ОС, адекватному назначению прав пользователей и т.д. и т.п.