Обнаружение chroot тюрьмы из

Использование combn() из базы R может быть немного проще и, вероятно, быстрее, чем загрузка дополнительных пакетов. Затем distm() использует distGeo() в качестве источника, поэтому использование последнего должно быть еще быстрее.

coords <- as.data.frame(coords)  # this won't work with data.tables though
cbind(t(combn(1:4, 2)), unique(geosphere::distGeo(coords[combn(1:4, 2), ])))
#      [,1] [,2]     [,3]
# [1,]    1    2 111252.1
# [2,]    1    3 497091.1
# [3,]    1    4 897081.9
# [4,]    2    3 786770.1
# [5,]    2    4 400487.6
# [6,]    3    4 458780.1

Мы могли бы проверить это с помощью эталона.

Unit: microseconds
    expr     min      lq     mean  median       uq     max neval cld
   distm 555.690 575.846 597.7672 582.352 596.1295 904.718   100   b
 distGeo 426.335 434.372 450.0196 441.516 451.8490 609.524   100  a 

Выглядит хорошо.

19
задан Topaz 16 September 2008 в 18:30
поделиться

4 ответа

inode для / всегда будет 2, если это будет корневой каталог файловой системы, но можно быть chrooted в полной файловой системе. Если это просто chroot (и не некоторая другая виртуализация), Вы могли бы работать, монтируют и сравнивают смонтированные файловые системы с тем, что Вы видите. Проверьте, что каждая точка монтирования имеет inode 2.

15
ответ дан 30 November 2019 в 03:38
поделиться

В системах BSD (сверяются с uname-a), должен всегда присутствовать proc. Проверьте, если dev/inode пара/proc/1/exe (используют статистику на том пути, она не будет следовать за символьной ссылкой текстом, но базовым рычагом) соответствует/sbin/init.

Проверка корня для inode № 2 является также хорошей.

В большинстве других систем, пользователь root может узнать намного быстрее путем попытки fchdir повреждающего корень приема. Если это идет куда-нибудь, Вы находитесь в chroot тюрьме.

4
ответ дан 30 November 2019 в 03:38
поделиться

Я предполагаю, что это зависит, почему Вы могли бы быть в chroot, и вошло ли какое-либо усилие в маскировку его.

я проверил бы/proc, эти файлы являются автоматически сгенерированными файлами информации о системе. Ядро заполнит их в корневой файловой системе, но возможно, что они не существуют в chroot файловой системе.

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

Similrarly, проверьте/sys.

2
ответ дан 30 November 2019 в 03:38
поделиться

Предотвращение материала как этот является самым главным. Если это - Ваш код, это, как предполагается, работает в chroot, имеет его, установил флаг на запуске. Если Вы взламываете, взлом: проверьте на несколько общих вещей в известных местоположениях, считайте файлы в / и т.д., чем-то в/dev.

4
ответ дан 30 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: