Наличие зловредного ПО - это неотъемлемое свойство зрелой платформы.
Второй взлом инфраструктуры BitTorrent-клиента Transmission
Хоть там его и раскритиковали но всёж не следует ли как-то подготовиться?
chroot или запуск под другим пользователем не выход,
так как набирать пароли каждый раз для запуска программы приведёт к тому, что пользователь снизит их безопасность.
Плюс надо чтобы были настроены sudo или suid, а их «во избежание» лучше держать отключенными.
Вот что я предлагаю, сейчас в linux только один пользователь может запускать бинарники с другим UID - root.
Я же предлагаю сделать систему иерархических ID.
1) ID с которым пользователь совершил логин
2) Диапазон ID с которыми пользователь запускает программы и имеет полные права на доступ к файлам созданным этими программами.
Пользователь не будет под тем ID, под которым выполнил логин запускать кроме файлового менеджера какие либо программы.
Вместо этого каждая программа будет работать под своим отдельным ID с назначенными ему правами и переменными окружения, но при этом иметь доступа к файлам других программ не будет, если только пользователь с основным ID, то есть с тем, под которым пользователь совершил логин разрешил ей это.
В принципе, для реализации такой схемы надо две вещи:
сделать механизм доступа программ c ID к файлам с UID из сопоставленного этому ID диапазона и дать обычному пользователю права на запуск программ с ID из выделенного ему диапазона UID.
П.С. Название темы не удачное, когда придумаю лучше то поменяю.