Предвижу волну критики, обрушившейся на мою голову, но все-таки надеюсь что кто-нибудь поможет мне. Да-да, задание из универа. Очень абстрактное (для меня). Проблема в том, что ничего, абсолютно ничего не знаю об ОС на основе *UNIX, за что могу и поплатиться. Но надеюсь, что кто-нибудь поможет…
Теперь ближе к делу.
Нужно найти решение для некоммерческой организации, которая занимается замером уровня радиоактивности местноти в странах-участниках. Затраты на решение должны быть минимальными, использование коммерческих решений не допустимо.
Нужно описать решение, которое поможет защитить различные типы информации (текстовую, картинки, звук, видео, географические данные).
Решение должно быть максисально простым. Важно, чтобы информация автоматически могла скопироваться вне зависимости от места. Пользователи системы не должны хранить информацию, когда они не подключены к системе. Как-то так… Вобщем, нужна помощь.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Легко: radioactiveathome.org/boinc/
Ну, я не уверен насчёт отсутствия коммерческих решений. Но учитывая, что добровольцы сами покупают счётчики гейгера, сами подключают их к своим компам, и устанавливают весь необходимый софт, я думаю это самое дешёвое решение.
А если серьёзно, но мне, например, непонятно о чём вообще речь. Какая информация? Откуда она берётся? Куда передаётся? Где хранится? Что значит «информация могла бы скопироваться вне зависимости от места»? Это значит, что даже с моей дачи, где GPS не берёт и кабеля нету? Спутниковая связь?
Тут проблема, по-моему, не в незнании *nix, а просто в непонимании условия задания. Если я не прав, то просто раскройте это задание и опишите подробнее структуру и деятельность этой гипотетической некоммерческой организации. Не вдаваясь в технические подробности, типа того, какие железки и софт делают возможным функционирование организации.
Данные о уровне радиоактивности на определенной местности (как-то так), передаются друг-другу (т.е. организациям-участникам). По поводу копирования: если разместить какие-либо данные на сетевом сервере, они автоматически скопируются на компьютеры всех участников. Я просто на самом деле мало что в этом понимаю(
То есть нужен некий сервер, доступный для всех участников посредством интернета. Чтобы любой участник мог бы загрузить туда информацию или скачать оттуда. Так?
Ну если так, то дальше встаёт очевидное дополнение к такому условию: надо как минимум сделать так, чтобы никто кроме участников не мог бы загружать информацию. Возможно надо ограничить доступ к загруженной информации для не-участников.
Минимальное решение: OpenSSH. То есть, некоммерческая организация, поднимает сервак в интернете, на котором крутится sshd. Каждому участнику выдаётся аккаунт в системе. Все пользователи засовываются в одну группу (допустим в стандартную users), создаётся директория с группой-владельцем users, и группе выдаются права на запись в эту директорию.
Вопросы вандализма промеж участников, когда участник A залил файл, а участник B его удалил, решаются легко теми же правами: участник A должен заливая файл поставить на него права: rw-r—--. То есть чтобы группа не могла бы изменять, лишь читать.
Собственно вот. По-моему, если речь идёт о «максимально простом» решении, то проще придумать уже и не удастся. Хотя, понятие «простое» достаточно двусмысленно: для кого простое? Для админа или для пользователя? И о каком пользователе идёт речь? Если пользователь в глаза не видел *nix, то это решение будет для него невыносимо сложным.
решение должно быть максимально простым для обычных пользователей (которые в глаза не видели *nix)
Можно попробовать аналогично использовать ftp, но ftp гадость для этих целей. Проблемы с кодировками, с безопасностью… ftp неплох чтобы раздавать файлы, а вот чтобы заливать на него… Можно конечно, и хостеры так делают, и ничего. Да и с кодировками вопрос можно решить используя какой-нибудь proftpd. А может и не решить, потому что кодировка устанавливается на сервере для всех, а если люди заходят с разных компов, с разных операционных систем и с разными локалями… По-крайней мере я не нашёл удовлетворительного решения этому вопросу N-ное количество лет тому назад, когда до тотальной победы dc++ в локалке держал ftp сервер.
Можно поднять сетевую шару, типа samba, и собрать всех клиентов при помощи OpenVPN в виртуальную локалку.
Самый же перспективный путь, пожалуй, писать сайт со всеми такими возможностями. Linux Apache + php. Но все эти перспективы дадутся не просто: потому что придётся заниматься программированием. С другой стороны, быть может реально найти готовую CMS, в которой все необходимые функции уже есть. Но тут я не копенгаген, тут разве что гугл поможет.
Можно сочетать ftp и http. Допустим через ftp с паролем заливать, а через http просматривать. Но в этом подходе, по-моему, недостатков больше чем преимуществ.
Я бы поставил на OpenVPN. Относительно несложно с точки зрения внедрения (на самом деле может быть даже проще чем поднять OpenSSH и настроить пользовательское окружение, чтобы пользователи не совсем с ума сходили бы), достаточно гибко, в плане разделения прав и отслеживания активности, а использование… Если дубоголовый пользователь не может справиться с шарой, то ему место не за компьютером, а где-нибудь уборщиком производственных территорий. Единственный существенный недостаток — это всякие трояны и вирусы которые можно складывать на шару, и которые будут запускаться оттуда (по-крайней мере в венде) стандартным двойным кликом. Большая часть пользователей увидев трояна на шаре не преминёт его запустить, и поэтому, чтобы избежать последствий придётся держать на сервере антивирус и проверять все новые файлы. Хотя это и не панацея.
а что вы можете сказать по поводу использования OpenSSH в комбинации с UNISON?
Я никогда не пользовался unison. Услышал про него в первый раз от вас. Но чем не способ? Вполне себе способ. Мне кажется, что он может породить одну проблему: если на сервере данных много гигабайт, то синхронизация с сервером может занять много времени. А если ещё учитывать то, что «Пользователи системы не должны хранить информацию, когда они не подключены к системе.»… То есть выходит, что если на сервере терабайт информации, то каждый клиент соединяясь с сервером должен скачать этот терабайт? Хотя, быть может unison умеет синхронизировать не всё, а частями. Может там есть что-нибудь типа инкрементальной синхронизации… Не знаю, это надо в документации к unison искать способы обхода такого его недостатка.
При неопределённости ТЗ очень сложно судить о том, что лучше, а что хуже. С какой целью замерять радиоактивность? Чтобы вычислить расположение шахт баллистических ракет с ядерными боеголовками? Если так, то следует озаботится во-первых стойкой криптографией, а во вторых тем, чтобы общение клиента с сервером не вызывало бы никаких подозрений у того, кто будет просматривать трафик. Таким образом можно будет максимально усложнить работу контрразведке по вычислению агентов со счётчиками гейгера.
Если же никаких разведывательных целей нет, то и скрытность такого уровня не нужна. Можно больше внимания уделить надёжности.
Ещё вопрос, который можно задать: насколько страны участники конкурируют между собой? Насколько они заинтересованы в том, чтобы подделать информацию распространяемую другими участниками? Сколько усилий будет целесообразно вложить в защиту системы от участников?