Я пишу код о низкоуровневых материалах. Мне нужно знать адреса символов ядра для написания надежного кода. Поэтому я пытаюсь прочитать kallsyms, когда im в пользовательском режиме в ядре Ubuntu-3.0.19. и это выход kallsyms в пользовательском режиме.Чтение kallsyms в пользовательском режиме
... 00000000 г __ksymtab_prepare_kernel_cred 00000000 г __kcrctab_prepare_kernel_cred 00000000 г __kstrtab_prepare_kernel_cred ...
, как я могу решить эту проблему в пользовательском режиме. когда им root и все в порядке, но это не то, что мне нужно.
спасибо.
'Нельзя получить доступ к System.map без привилегий root. На моем сервере RHEL разрешено читать этот файл /boot/System.map -... –
Зависит от дистрибутива и/или версии ядра, я думаю. Если System.map содержит адреса функций ядра и по умолчанию читается для пользователя без полномочий root, это фактически делает защиту kallsyms бесполезной. Если это RHEL 6, ядро, вероятно, будет 2.6.32, IIRC, где/proc/kallsyms не было защищено. Поэтому читаемый файл System.map не увеличивает риски безопасности в этом случае. – Eugene
Если вы используете ядро, скомпилированное дистрибутивом, вы можете просто просмотреть дистрибутивные архивы для соответствующего System.map, нет? – domen