Привет всем,
У меня есть приложение, которое входе работы должно биндиться на порт < 1024.
Приложение запускается из под non-root полльзователя.
Я нашел несколько вариантов решения проблемы, но они мне не подходят:
1. sudo бит. Проблема в том, что приложение начинает писать логи (и генерить некоторые файлы), и оунером этих файлов является root, что не есть хорошо. Собчтвенно от этого и хочется уйти.
2. Роутинг портов. Использовать фаирвол iptables не позволяет политика партии.
3. Установка CAP_NET_BIND_SERVICE capability на исполняемый файл. Самое лучшее решение для меня, но... Мое приложение очень большое. Весит 2,7Г. При попытке сделать setcap ругается, что файл неправильный. Есть ли способ обойти ограничение в 2Г для размера файла?
4. AppArmor. Это решение мне видится на данный момент наиболее реальным. У меня ОС: Ububntu 10.04 и AppArmor стоит в нем по умолчанию. Однако все попытки насторить АппАрмор так, чтобы приложение могло биндиться на порт ни к чему не привели. Установка capability net_bind_service не помогла.
Возможно ли решить эту проблему с помощью AppArmor вообще? Иля я зря стараюсь?
Есть ли еще способы разрешить приложению биндиться на порт < 1024 из-под non-root пользователя?
Буду благодарен за любые советы.
Спасибо,
Денис