Страница 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
ВХ
Скуль для этой задачи все же лучше подойдет, неважно какой. На уровне БД я абсолютно четко вижу реализацию, но у меня проблемы с удаленным администрированием линух :al: . Терминал на каждой машине запускать? :roll:

СообщениеДобавлено: 07 май 2008, 21:12
vavr
nikbel пишет:которая обеспечивает работу учащихся только с допустимыми программами.


Программа должна отслеживать все запущенные процессы(программы) и через каждые 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
Nicosha пишет:можно использовать 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 прошвырнуться можно найти нужное