LINUX.ORG.RU
ФорумAdmin

Разрешить пользователям запускать только определенные программы


0

0

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

Если kde, то возможно хватит kiosktool.
А так боюсь запаришься рулить правами на все запускаемые проги.

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

>Если kde, то возможно хватит kiosktool. А так боюсь запаришься рулить правами на все запускаемые проги.

Во-первых у меня xfce. Во-вторых для 4-х кед его нету. И в третьих оно, кажись, не сможет помешать запустить из консоли нужную прогу.

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

>ага, а потом apt-get upgrade и выставляй права заново
не факт что он их обратно на юзерские возвратит. У меня xorg.conf как стоит для редактирования пользователем, так и остаётся. Даже если система его (иногда) заменяет, то права аккуратно оставляет.

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

>ну, или как вариант, проверочный баш скрипт по крону.

такой вариант обдумывал, но хотел решение покрасивее

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

еще пара глупых вариантов с алиасами на "apt-get upgrade"
Первый выдает напоминание о том что права слетят.
Второй правит права сам, после обновления. Увы, тоже с помощью скрипта.

darkshvein ☆☆
()
Ответ на: комментарий от anti_social

>И в третьих оно, кажись, не сможет помешать запустить из консоли нужную прогу.

Зачем пользователям консоль?

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

+1. Первое, что отрубают в таких случаях - все возможности запустить терминалку.

svu ★★★★★
()

/usr/bin/java в список разрешенных программ войдет?

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

В обычном сетапе такого наиболее полезым аццкие пользователи находят броузер. File->SaveAs - и лазаем по фс, придумываем толи нам башевый скрипт скачать и "открыть" толи еще чего замутить :-)

gods-little-toy ★★★
()
Ответ на: комментарий от anti_social

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

madcore ★★★★★
()

+1 за chroot. Более громоздко, но один раз и навсегда.
Не известны масштабы ПО, который пользуют юзеры.
Как параноидальный вариант - Xen :-)

И ещё, для чего вы ограничиваете пользователей, использование каких программ вы хотите запретить? Машина является лишь терминальным сервером?

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

Ну и выскажусь все-таки по другим пунктам.

>Во-первых у меня xfce. Во-вторых для 4-х кед его нету.


1. Если у вас действительно неиллюзорные пользователи, а не просто еще трое приятелей, то выбор неадекватен
2. 4-е кеды сейчас и так не подарок, а на Х-терминале совсем боюсь представить. 3.5.* умрут еще не скоро, а там и 4 допилят.

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

Я тоже считаю, что SeLinux — более правильное решение, хотя и сам на деле не использовал.

А уж варианты с изменением прав в /usr/bin по крону — это костыыыыль, имхо. А вообще, вопрос интересный. Может кто ещё предложит решения...

Incred
()

я вот чего не понимаю. Все тут велосыпеды изобресть пытаются.
А какие такие ТЫ СТАВИЛ нежелательные программы, которые нельзя запускать пользователям? Или они сами имеют права ставить софт?

vitroot ★★
()

а если юзер свой бинарь зальёт? короче, пиши политики для своего apparmor/selinux. Можно, конечно, /home и /tmp с noexec монтировать и по крону менять права на некоторые системные бинарники на случай обновления, но это как-то костыльно.

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

noexec тогда уж на /home самый нормальный вариант. На /tmp тоже.
Но еще проще нормально все поставить, чтобы не было там того, что пользователям запускать нельзя. И еще запретить пользователям mount.

А вообще, в таких условиях пользователи скоро начнут писать софт сами :)

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

ну почему же. Сделать бинарь /usr/local/bash-restricted, сделать его логин-шеллом и задать на этот бинарь политики.

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

>А какие такие ТЫ СТАВИЛ нежелательные программы, которые нельзя запускать пользователям? Или они сами имеют права ставить софт?

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

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

Пока придумал так сделать:

Линк или копия bash, например в /bin/bash_test, далее ставим /bin/bash_test как шелл нужным пользователям и ограничиваем /bin/bash_test через AppArmor.

Но пока еще не получилось заставить все это дело заработать. Менеджер сеансов не хочет корректно работать. При этом logprof ничего не выдает.

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

>А какие такие ТЫ СТАВИЛ нежелательные программы, которые нельзя запускать пользователям? Или они сами имеют права ставить софт?

На самом деле в данный момент мне уже просто интересно как это вообще можно сделать. Чтоб, так сказать, доказать что в линуксе тоже есть такая возможность.

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

> /home и /tmp с noexec монтировать
Не катит: http://www.linux.org.ru/wiki/en/Linux_Security_FAQ
--------
Примечание от Sergey (srg@csu.ac.ru): Насчет монтирования $HOME с noexec, ничто на мешает юзеру скопировать в систему что-нить и сделать /lib/ld-2.3.1.so ./nmap hostname. Лекарство - патч к ядру с http://www.grsecurity.net/, на уровне ядра: если файл лежит в каталоге, не принадлежащем руту, выполнение запрещено.
--------

> одним пользователям можно запускать, скайп и пиджин например, а другим нельзя.
Если ограницения нужны для сетевой активности программ, тогда проще ограничивать firewall-ом (iptables -A OUTPUT -m owner ...).

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

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

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