Лично я написал запускалку в 3 строки, которая проверяет, отключилась ли сеть, и если да, то уже запускает приложение (через execve). По сути тот же unshare (я не помню, чтобы тот проверял что-либо, но в случае когда фейлится -- он останавливается). Изначально я делал форк и пытался делать что-то сложнее unshare вторым процессом, но что-то после unshare от юзера есть проблема -- у юзера нет совсем никаких прав, даже виртуальных. Вроде пришёл к тому чтобы добавить логику nsenter и изолировать доступ через файрвол, потому что приложениям всё же бывает необходим локалхост и связь с внешним миром (контролируемая). Но потом я убедился, что всяким гимпам всё же не нужна сеть, и unshare тут вполне хватает.
|