а вот внутрь залезть - нимоги!
Довольно странно использовать опенсорсную вещь, принципиально не имеющую таких механизмов защиты - для таких целей.
Потенциально может помочь шифрование дисков и запароленный граб, но Вы же сами понимаете - на всякую хитрую #опу находится свой МПХ с левой резьбой :) Хотя скрипт-киддисов это отпугнет.
Но при наличии физического доступа к машине вопрос "не дать доступа" не стоит. Стоит вопрос "максимально усложнить его получение", потому что время на его получение будет прямо пропорционально умению юзера и желанию туда попасть.
Как при загрузке VM проверить целостность некоторых директорий/файлов?
Требовать доступ в тырнет и сверять чексуммы файлов с чексуммами на Вашем сервере, при несовпадении рушить систему. Этот момент лучше отразить в договоре :) При обновлении ВМ (если оно предполагается) конечно же не забывать обновить чексуммы.
Конечно, все это все равно не поможет :) Вы фактически хотите сделать то же, что гугл с андроидом - давать пользоваться, но не давать рута. Сколько уже способов получения рута придумало
благодарное хитро#опое человечество?