Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Запуск задач от одного пользователя в непересекаемых по чтению папках / 5 сообщений из 5, страница 1 из 1
10.09.2009, 15:47
    #36189070
junixar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск задач от одного пользователя в непересекаемых по чтению папках
Всем привет.

Есть следующая задача: программное обеспечение (агент), работающее на Linux машине должно запускать задачи по требованию от различных сторонних пользователей. Т.е., иначе говоря, на linux машине постоянно работает агент, доступный удалённо по какому-либо интерфейсу. И вот удалённо различные пользователи присылают на агент команды - запустить ту или иную задачу.

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

Решаема ли вообще такая задача?

Заранее спасибо.
...
Рейтинг: 0 / 0
11.09.2009, 06:39
    #36190079
Мутабор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск задач от одного пользователя в непересекаемых по чтению папках
junixarВсем привет.

Есть следующая задача: программное обеспечение (агент), работающее на Linux машине должно запускать задачи по требованию от различных сторонних пользователей. Т.е., иначе говоря, на linux машине постоянно работает агент, доступный удалённо по какому-либо интерфейсу. И вот удалённо различные пользователи присылают на агент команды - запустить ту или иную задачу.

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

Решаема ли вообще такая задача?

Заранее спасибо.

Запускать процессы в chroot, сойдет?
...
Рейтинг: 0 / 0
11.09.2009, 11:52
    #36190656
junixar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск задач от одного пользователя в непересекаемых по чтению папках
chroot не подходит, потому как может быть запущен только root-ом. Приложение агент работает не под root.
...
Рейтинг: 0 / 0
11.09.2009, 14:12
    #36191148
гость_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск задач от одного пользователя в непересекаемых по чтению папках
бесконечное количество запросов одновременно Вы не сможете запустить, значит у Вас предусмотрен какой то лимит. вот и сделайте столько пользователей сколько этот лимит. в агенте сделайте пул пользователей и выделяйте из него свободного при запросе. команду пишите в /tmp/userX.sh агенту дайте права на sudo -u user* /tmp/user*.sh форкайтесь и запускайте скрипт через суду. по SIGCHILD помечайте пользователя в пуле как "свободный"
...
Рейтинг: 0 / 0
12.09.2009, 04:50
    #36192219
пролетевший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск задач от одного пользователя в непересекаемых по чтению папках
Обычная практика в *nix - менять uid процесса после авторизации на реального ( или виртуального ) пользователя. Так работают большинство служб в **nix, типа telnet, ftp, и прочих. Но при этом обязательно основной демон запускать как root, поскольку другим процессам менять uid не положено. Это не обойти никак.
Не обязательно сам агент запускать как root, можно сделать простенькую службу которая только делает авторизацию и запускает реального агента с реальными правами.
См: man setuid, man seteuid, man setfsuid.
Чтобы не забивать систему пользователями, их можно подставлять через pam/nss - какой-нибудь готовый ( ldap, db ... ) или написать свой. Поскольку разговор идет о разных пользователях, какая-то авторизация наверняка имеется ?
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Запуск задач от одного пользователя в непересекаемых по чтению папках / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]