Pull to refresh

Comments 3

Указанный способ актуален только если в распоряжении есть бинарное ядро, и нет возможности его пересобрать из исходников. Если исходники есть, делаем свою функцию

unregister_security()

Профит.

Далее, просто так заменить «указатель на указатель security_ops» не есть хорошо, поскольку не будут освобождены ресурсы, например, что-то по указателю i_security структуры inode.

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

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

Дело даже не в том «есть исходники» или «нет исходников».
А в том, может ли вы предоставлять свой проект потребителю в виде модуля, который динамически подгрузится к любому ядру и внесёт свои изменения… или вы должны будете предоставлять заказчику «своё самое лучшее» пересобранное ядро, или убеждать его наложить на ядро ваши патчи и пересобрать ядро.
Отгадайте с 3-х раз в какое место вас пошлёт заказчик? ;-)
Sign up to leave a comment.

Articles