LINUX.ORG.RU
ФорумAdmin

запретить background процессы


0

0

Хочу запретить пользователю выполнять команды вида

$ cmd &

Или хотя бы чтобы после завершения сессии пользователя все процессы запущенные им убивались.

Т.е. nohup должен не работать.

Есть идеи?

anonymous

Ответ на: комментарий от ddf6f8a0a979b974d9e1dd8ea307c4db

просто бэкграунд ты запретить вряд-ли сможешь, а вот nohup - запросто: chown root:admins /bin/nohup ; chmod 750 /bin/nohup

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

А какова польза подобных запрещений?
Если компилятор есть, то все это туфта.

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

> Тогда ещё надо setsid запрещать.

Если это системный вызов, то, может, его можно в ядре запретить при uid != 0?

Deleted
()
Ответ на: комментарий от sasha999

nohup - это программочка в пару кил без каких-либо прав
Никто не мешает ее источники найти и скомпилировать
(если лень учить обработку сигналов).

Впрочем не следует забывать и про возможности shell-ов.
Их тоже предостаточно.
Пример:
bash-2.05$ ./pshup &
[3] 32667
bash-2.05$ disown -h %3
bash-2.05$ more pshup
while true
do
sleep 30
done
bash-2.05$
Закрывем сеанс и проверяем поведение:
kruto 32667 1 0 20:02 ? 00:00:00 -bash
kruto 32696 32667 0 20:03 ? 00:00:00 sleep 30

Живет и без nohup!
А таких методов - фигова туча.

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

> Тогда м. б. можно убивать процессы юзера при выходе. (прописать в конфигах)

~/.*sh_logout?

Так он легко сможет поменять всё назад.

anonymous
()

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

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