я создал /opt/chroot
, Создайте bin
lib
и другие каталоги в нем, скопированные библиотеки, двоичные файлы bash и perl в нужные места. Также я поместил свой сценарий в /opt/chroot/bin/
.
Теперь я могу запустить скрипт таким образом:
# chroot /opt/chroot script.pl
Меня беспокоят две вещи:
Как я могу избежать этих дыр в безопасности?
Chroot в Linux не в целях безопасности, если у вас есть root-права или вы смонтируете abilite внутри chroot, вы можете легко взломать его.
Очевидно, вы должны удалить root с помощью su или аналогичного, пока у сценария нет разрешений на изменение файлов интерпретатора, проблем не должно быть.
Для этого вам нужно добавить больший кусок кода в копию su и основные биты PAM.
Что-то вроде jailkit может быть более простым способом справиться с этим:
Почему бы вам не chroot внутри вашего Perl-скрипта? Таким образом, вам не понадобятся все лишние вещи внутри chroot jail.
Просто добавьте chroot () http://perldoc.perl.org/functions/chroot.html где-нибудь в вашем скрипте, за которым следует chdir ("/").
После этого откажитесь от своих привилегий, и все готово.