LINUX.ORG.RU

Как сделать системный раздел только для чтения

 ,


1

1

Имеется компьютерный класс, на который нет лицензии выньдоса, на нем я использовал нечто на подобии shadow defender для защиты от вирусов системы (в том числе от вирусов shkolnik-lomatel который меняет обои и заставки и лазает в настррйки), там была создана папка в которой все сохраняется Школьные линуксы я пощупал - остались только отрицательные мысли о нем После поисков - поставил mint последний с wine для некоторого софта и все настроил Теперь встал вопрос о том как сделать так чтобы при выключении все изменения сбрасывались (историия браузера, файлы сохраненные вне созданной папки на рабочем столе, изменения настроек чтобы не сохранялись) но оставались изменения в одной папке на рабочем столе (т.е. нечто подобное live hdd где можно менять настройки но ничего не сохраняется)

Ответ на: комментарий от targitaj

Я пока с линуксом на ВЫ, но пока не очень понимаю как это реализовать Из сказанного вами Мне получается сначала нужно создать этот live образ который будет загружатся с HDD из настроенной системы и делать под каждый комп отдельную сборку (ибо hostname надо менять, и папки расшаривать в сеть)

no_name8914
() автор топика
Ответ на: комментарий от kickass

Linux mint 19 Cinnamon x86 Системы разные, основная часть - моноблоки с пнем и 4 гб ОЗУ

no_name8914
() автор топика
Ответ на: комментарий от kickass

попытался скомпилировать rfreeze - ничего не получается файла configure.in, bootstrap, autogen.sh, попытался компилировать файлы в папке PO - создался файл ru.mo и что с ним делать - я не понимаю

no_name8914
() автор топика
Ответ на: комментарий от kickass

как я понял для overlayfs нужно создавать еще один раздел с EXT4 и как я понял что в этом режиме после перезагрузки изменения сохраняются или я не правильно понял и если не трудно - объясните что нужно сделать чтобы все каталоги сбрасывались в изначальное состояние после перезагрузки кроме каталога /home/uzer/Рабочий стол/Рабочая папка

no_name8914
() автор топика

Копай в сторону гостевого сеанса

http://vasilisc.com/customize-guest-session-ubuntu

И заголовок у тебя неправильный.

Системный раздел и так только для чтения. Не надо лишние права давать всем подряд.

Ограничения всего и вся.

http://mintlinux.ru/forum/thread7245-1.html

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)

Системный раздел и так только для чтения.
Можно сделать гостевую учетку, либо закрыть пользователю доступ на запись в хомяка, разрешив только временный файлы браузераи одну папку для файликов ворда или с чем ты там работаешь в школе. При логауте запускать скрипт, который будет чистить темп и, при необходимости, папку с файлами.

Zhbert ★★★★★
()

Монтируй рабочую папку по NFS с сервера. То есть система не будет изменяться, а файлы будут храниться на сервере. Можно создать для каждой машины папку с названием по hostname.

fbiagent ★★★
()
Ответ на: комментарий от greenman

Пробовал все по инструкциям - не получается, чёрный экран при входе в гостя, и через минуту выкидывает на экран логина

no_name8914
() автор топика
Ответ на: комментарий от fbiagent

Нету так какового сервера, учительский комп под виндой (из за сканера), есть лишь прокси сервер под pfsense

no_name8914
() автор топика
Ответ на: комментарий от no_name8914

overlayfs - файловая система осуществляющая каскадное монтирование нескольких файловых систем.

Т.е. что-то вроде бутерброда.

Можно объединить несколько файловых систем в одну новую, при этом указав что одна файловая система будет доступна на чтение, другая - на запись. В этом случае изменения сделанные на новой объединённой файловой системе будут записываться на файловую систему, указанную для записи. А данные на файловой системе, доступной на чтение будут неизменны.

В Linux есть файловые системы, которые создаются в оперативной памяти, например tmpfs.

Все данные, которые записываются на эту файловую систему физически хранятся в оперативной памяти.

У этой файловой системы в параметрах монтирования можно указывать какого объёма она должна быть. Оперативная память будет заниматься по мере заполнения файловой системы tmpfs и освобождаться когда с неё удалят файлы.

Если у вас 4 Гб оперативной памяти, то думаю 1 Гб - это разумный максимум, не думаю что ученики израсходуют для своих работ за урок более 1Гб места.

В итоге что вам нужно сделать:
- создать точку монтирования tmpfs прописать в /etc/fstab строку для подключения файловой системы при старте Linux; - Прописать строку монтирования overlayfs с указанием файловой системы доступной на чтение домашней директории профиля ученика, а для записи - точки монтирования tmpfs.

Теперь когда компьютер будет перезагружен то ученик получит заново чистый профиль.

anonymous
()
Ответ на: комментарий от anonymous

Так же можно прописать скрипт в автозагрузку пользователя для очищения tmpfs, что бы чистый профиль был при каждом перевходе, а не перезагрузке системы.

Хотя тут могут быть нюансы, скрипт в автозагрузке должен отработать перед тем как пользовательская сессия считает свои настройки.

Так что возможно тогда такой скрипт нужно записывать не в автозапуск окружения рабочего стола, а в сценарий выполняемый при авторизации пользователя, это делается через pam.d, но вам это будет несколько сложно, так что попробуйте в начале сделать описанное без скрипта, ну либо со скриптом в автозапуске.

anonymous
()

Тебе больше всего подойдёт схема с overlayfs или aufs, которые будут собирать для /home бутерброд из какой-нибудь ext4 или XFS и чего-то, что будет служить той самой прослойкой для изменений, которую можно будет дропать. Вариантов несколько:

  • tmpfs — изменения будут жить в RAM, при ребуте потеряются. RAM должно хватить на все изменения, иначе придётся лезть в подкачку и ОС начнёт тормозить;
  • dm-crypt со случайным ключом — изменения будут жить на шифрованном контейнере на HDD. При ребуте контейнер будет пересоздаваться пустым. Если CPU на машинах слабые — может тормозить;
  • Дополнительная «обычная» ФС — изменения будут жить на другой ФС и не будут теряться при ребуте. Чтобы их дропнуть, надо отмонтировать «бутерброд» и почистить/форматнуть эту вторую ФС.

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

В случае с бутербродом для /home защитить саму ОС от поползновений шаловливых ручек можно, отобрав права на sudo у пользователя, под которым заходят ученики. Ну и на самого пользователя выставить autologin.

spijet ★★★
()
Последнее исправление: spijet (всего исправлений: 3)
Ответ на: комментарий от anonymous

а можно по подробнее? что я уже сделал mkdir /mnt/tmpfs/ chmod 777 /mnt/tmpfs/ mount -t tmpfs -o size=1536M tmpfs /mnt/tmpfs/ теперь встал вопрос - как прописать в FSTAB вопрос как overlayfs настроить сделать (каталог пользователя в моем случае /home/uzer) и как сделать папку на рабочем столе в которую может писать ученик (ну хотя я думаю создать папку в корне и создать ссылку), и от сюда вопрос - не будет ли действовать оверлей на папку по ссылке

no_name8914
() автор топика
Ответ на: комментарий от no_name8914

Подробнее про overlayfs почитай здесь (как раз есть пример для прописывания в /etc/fstab).

Если сделаешь отдельную директорию «вне» бутерброда (например, где-то на корневой ФС) и сделаешь на неё ссылку «внутри» — в этой директории все изменения будут сохраняться (в том числе деструктивные).

spijet ★★★
()
Ответ на: комментарий от spijet

цп на компах - 2 ядерные пентиумы на 1155 сокете 3 ггц

на винде я по сути делал оверлей для всей системы в два клика с вводом пароля, просто в программе были три папки исключения и пара файлов с конфигами программ (учетные записи в клавиатурном тренажере)

no_name8914
() автор топика
Ответ на: комментарий от no_name8914

теперь встал вопрос - как прописать в FSTAB вопрос как overlayfs настроить сделать

Открой /etc/fstab текстовым редактором и посмотри на формат записи.

Там что-то вроде:

что_монтировать   куда_монтировать  тип_фс  параметры_монтирования 0 0
Сделай по аналогии:
tmpfs /mnt/tmpfs tmpfs defaults,size=1536M 0 0
или
shm /mnt/tmpfs tmpfs defaults,size=1536M 0 0

По поводу overlayfs тебе уже дали ссылку.

каталог пользователя в моем случае /home/uzer

Я использую aufs, в случае неё монтирование будет таким:

mount uzer -t aufs /home/uzer -o udba=reval,br:/mnt/tmpfs:/home/uzer
но её нет в составе основного ядра, так что читай про OverlayFS по ссылке, будет очень похоже.

Ну и с тем как прописывать в /etc/fstab думаю тоже разберёшься.

Если будут вопросы - пиши.

anonymous
()
Ответ на: комментарий от no_name8914

А как дела с RAM?

Попробуй на одной из машин запустить cryptsetup benchmark и посмотреть, какую производительность покажут возможные алгоритмы шифрования. Если там будут неплохие показатели — можно сделать оверлей по второй предложенной схеме.

spijet ★★★
()
Ответ на: комментарий от no_name8914

Для всей системы в linux тебе не нужно делать, пользователь без прав root и прав выполнения sudo может писать только в свою домашнюю директорию, ну и на те ФС и директории, куда ты ему ещё разрешил.

Так что тебе достаточно посредством overlayfs настроить перенаправление записи его домашней директории.

Данные записанные в директорию по ссылке будут сохраняться.

anonymous
()
Ответ на: комментарий от spijet

Зачем шифрование если проще tmpfs, всё равно будет использоваться overlayfs?

По поводу aufs - не знаю. Можно собрать модуль ядра из исходников если её нет.

anonymous
()
Ответ на: комментарий от anonymous

Проще. Но вдруг у него там каждый мегабайт RAM на счету?

По поводу aufs — странно, вроде помню, что раньше в Debian и Ubuntu изкоробочное ядро было с aufs.

spijet ★★★
()
Ответ на: комментарий от no_name8914

по умолчанию, при создании tmpfs занимает 50%, но, не сразу, а по мере заполнения. Если в системе есть каталог /dev/shm, то создавай папки для overlayfs в нем, это готовый tmpfs. Если памяти не хватает, то можно overlayfs засунуть в zram.

kickass
()
Ответ на: комментарий от kickass

по умолчанию, при создании tmpfs занимает 50%

Есть опция монтирования 'size=' в которой указывается размер tmpfs.

Если в системе есть каталог /dev/shm, то создавай папки для overlayfs в нем, это готовый tmpfs.

Не надо так делать.

Лучше смонтировать куда надо tmpfs.

mount -t tmpfs shm /mnt/tmpfs

anonymous
()
Ответ на: комментарий от kickass

/dev/shm - это системная tmpfs, по умолчанию она действительно 50% от размера оперативной памяти, но может быть и ограничена.

Поэтому писать туда что-то своё не стоит, ибо можно израсходовать всё место там и для системных нужд уже не хватит, лучше монтировать своё.

mount -t tmpfs none /mnt/tmfs -o size=сколько_нужно

То что в /dev - не для обычной работы.

anonymous
()

Создать двух пользователей canwrite (учетка для произведения настроек) и nowrite (для пользователей), пользователя canwrite сделать хозяином домашнего каталога nowrite. Выдать разрешения для nowrite на необходимые каталоги.

anonymous
()
Ответ на: комментарий от anonymous

Можно просто сделать чтоб монтировалась как 100% или перемонтировать.

anonymous
()

Сейчас переустанавливаю систему, решил проверить одну программу - она не корректно работает в mint

Пробую kubuntu (памяти хватает, пока на виртуалке с 4 гб выделенной памяти сжирает 500 мб) софт докачается, солью образ и буду эксперементировать, вроде как kubuntu ближе к ubuntu чем mint и инструкции должны подходить с большей вероятностью

no_name8914
() автор топика
Ответ на: комментарий от anonymous

Все работает, скинул все папки которые надо защитить от изменений в один каталог, закрыл возможность записи на рабочий стол (пока так решил сделать, дальше видно будет), добавил скрипт который чистит каталоги раз в полторы недели, раскидал символические ссылки по местам, создал tmpfs, прописал в fstab и перезагрузил комп, далее ввел mount - раздел отобразился, затем ввел

mount configs -t aufs /home/user/configs -o udba=reval,br:/mnt/tmpfs:/home/user/configs

проверил - смонтировалось, создал файл в этой папке - перезагрузил - все ОК, файла нет, еще раз создал файл перезагрузил - не работает

теперь мне не понятно как монтировать aufs через fstab

/home/user/configs br:/mnt/tmpfs:/home/user/configs aufs 0 0

или не верно?

no_name8914
() автор топика

Чему же там детей обучают, если всё, что им можно, это писать в одну директорию? Если уж Linux поставили, то надо из этого извлечь больше пользы!

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

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

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

в винде у меня стоял и стоит (где есть лицензия) аналог shadow defender (не помню как назывался, но суть та же), там в два клика все делается, папка исключение, и диски на которых надо ставить защиту

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

no_name8914
() автор топика
Ответ на: комментарий от no_name8914

Я немного о другом. Как по мне, было бы замечательно давать знания ближе к внутренностям системы и как раз таки иметь возможность всё изменить и настроить под себя. Например, на каждого ученика создать свой LXC контейнер, где он имеет полные права. По хорошему, конечно, надо все изменения хранить на сервере, но можно и локально, тогда придётся конкретные компьютеры закрепить за конкретными учащимися. И пусть они там всё настраивают, устанавливают тот же Wine. Рассказать им что это, научить конфигурировать систему и т.п. Тогда информатика будет более полезной и интересной, чем стандартная ерунда с текстовым процессором и табличками.

ls-h ★★★★★
()
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

веду занятия не я, да и есть учебные программы и учебники по которым и ведутся занятия, так что с предложениями в мин образования

no_name8914
() автор топика
Ответ на: комментарий от spijet

как смонтировать aufs через fstab

пытался команду в автозапуск воткнуть (init.d, rc0,d, rc.local) - ничего не получилось

через консоль под рутом - все получается mount configs -t aufs /home/user/configs -o udba=reval,br:/mnt/tmpfs:/home/user/configs

no_name8914
() автор топика
Ответ на: комментарий от no_name8914

Все проблема решена - всем спасибо за помощь

no_name8914
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.