Страница 1 из 1
Помогите написать прогу(Linux)

Добавлено:
07 май 2008, 12:06
nikbel
Цель: Нужна программа, которая обеспечивает работу учащихся только с допустимыми программами.Язык программирования любой, можно Gambas, Си. Для ОС Linux. тел. 8-950-179-70-33 Цена:договорная(хорошая)
Ниже более подробно:
Предполагается что есть компьютерный класс, в котором преподаватель может проследить за учащимися, какие программы они запустили.
Программа должна отслеживать все запущенные процессы(программы) и через каждые 5 минут удалять не нужные процессы. Как она должна определять какие нужные программы, а какие нет? Нужно создать базу данных, в которой находится список нужных программ, необходимых для проведения данного урока в компьютерном классе. Причем преподаватель может сам определяет (меняет) список нужных программ, т.к. для каждого урока разные нужны программы. Программа сравнивает этот список нужных программ и программы(процессы), запущенные учеником, и те программы, которые не входят в список нужных программ программа удаляет ненужные программы(процессы).
Но в начале существует база данных компьютеров, и у преподаватель на компьютере должны отображаться те компьютеры, которые включены в сеть. И только у этих компьютеров нужно отслеживать запущенные процессы. Другими словами, программа делается опрос , какие компьютеры включены, после чего начинает отслеживать и удалять программы(процессы).

Добавлено:
07 май 2008, 14:16
ukko
писать её только на с++, а в качестве бд использовать постгресс..
я бы это всё на обычных скриптах сделал, вместо базы данных - текстовый файл, который грепить на наличие нужных процессов, и запускать эту шнягу кроном, и всем сигкиллы рассылать


Добавлено:
07 май 2008, 20:23
ВХ
Скуль для этой задачи все же лучше подойдет, неважно какой. На уровне БД я абсолютно четко вижу реализацию, но у меня проблемы с удаленным администрированием линух

. Терминал на каждой машине запускать?


Добавлено:
07 май 2008, 21:12
vavr
которая обеспечивает работу учащихся только с допустимыми программами.
Программа должна отслеживать все запущенные процессы(программы)
и через каждые 5 минут удалять не нужные процессы
народ а не кажется вам , что задача поставлена совершенно противоречивая ???
уже сам допуск запускать только именно разрешенные задачи подразумевает под собой строго ограниченный список программ которые просто не будут ЗАПУСКАТЬСЯ НА ЭТОМ КОМПЬЮТЕРЕ запретил и все !!
зачем это отслеживать да еще удаленно да еще и городить базу допускаемых к запуску программ
или ТЗ просто тупо составлено .
или автор слегка не правильно расписал , что ему нужно

Добавлено:
08 май 2008, 08:20
ukko
я вот почитал Вавра и вспомнил что в новой убунте уже есть готовое средство Policy Kit.
Используйте его, и не парьтесь )
Вопрос про Линукс?

Добавлено:
09 май 2008, 19:36
nikbel
Если готовая такая программа под линукс, которая обеспечивает работу учащихся только с допустимыми программами. Если есть то напишите?
(Предполагается что есть компьютерный класс, в котором преподаватель может проследить за учащимися, какие программы они запустили.Программа должна отслеживать все запущенные процессы(программы) и через каждые 5 минут удалять не нужные процессы.)

Добавлено:
11 май 2008, 09:26
ukko
nikbel
Прочитай моё предыдущее сообщение.
Свою программу писать ты запаришься, лучше уже используй готовое.

Добавлено:
11 май 2008, 10:13
Nicosha
можно использовать cron и bash-скрипт, который будет список разрешонных процессов тянуть с компа препода.

Добавлено:
14 май 2008, 14:32
Salem
можно использовать cron и bash-скрипт, который будет список разрешонных процессов тянуть с компа препода.
Ересь. Ибо:
1) Любая среда программирования (а она 100% будет использоваться на компах) позволяет создать бинарник с любым именем. Следовательно он будет грохаться. Выход - называть проги по шаблону. Тоже не выход.
2) Любую "неразрешенную" прогу можно переименовать допустим в Х и запускать. Так как иксы будут в разрешенных программах. Даже если запретить дублирование процессов, то выйдет сплошной косяк, ибо есть процессы с одинаковыми именами.
Отсюда следует что блочить процессы по имени не очень хорошая идея.
Вообще если глобально браться за тему, то надо делать бинарники с подписью, и писать модуль ядра, который будет отслеживать подписи и разрешать или запрещать запуск.

Добавлено:
14 май 2008, 15:39
ВХ
Есть выход - отслеживать процессы по чексумме


Добавлено:
14 май 2008, 17:54
ukko
Есть выход - отслеживать процессы по чексумме
чексумма чего? бинарников?
PS Догнать и обогнать по тормозам свисту


Добавлено:
15 май 2008, 08:20
Salem
Не такая плохая идея. Сначала делается база всех бинарников в системе. Пусть это и займет час два, но делаться это будет 1 раз, после установки системы и настройки всех программ. В учебных заведениях часто программы не ставят. Обычно существует определенный набор софта. В ядре к каждому процессу прикрепляется ТАКАЯ структурища, это просто ппц. Можно наверное и в ней какие-то уникальные поля найти.

Добавлено:
15 май 2008, 14:51
zuzacabric
гм
selinux/rbac отлично справляется с такой задачей)
а вообще писать такое ... по sf.net прошвырнуться можно найти нужное