사용자 스크립트 실행 제한

사용자 스크립트 실행 제한

데비안 서버에서 게임 엔진을 실행하고 있습니다. 이 게임에는 플레이어가 Python으로 코딩한 로봇이 포함됩니다.

  1. 플레이어는 Python으로 로봇을 작성합니다.
  2. 확인 후 코드가 서버로 전송됩니다.
  3. Python 스크립트 실행 코드

봇의 스크립트는 일반 Python 스크립트이므로 플레이어는 그 안에서 원하는 것은 무엇이든 할 수 있습니다. 플레이어가 모듈을 가져올 수 있지만 서버를 손상시키지 않기를 바랍니다(예: 서버 파일 시스템 검색, 파일 삭제,또는 더 나쁘다).

다음 사항을 알고 스크립트가 시스템을 중단시키지 않도록 하려면 어떻게 해야 합니까?

  • 스크립트는 TCP/IP를 통해 게임 엔진(localhost)과 통신할 수 있어야 합니다.
  • 플레이어가 표준 Python 모듈을 가져오길 원합니다.
  • 나중에 게임은 다른 스크립트 언어(Ruby, Perl, Lua, JS...)를 지원할 예정입니다.

나는 한 가지 접근 방식이 사용자 및 그룹과 함께 플레이하는 것이라고 생각합니다. 또 다른 하나는 FreeBSD 감옥과 유사할 수 있습니다. 나는 이러한 방법에 익숙하지 않습니다.

답변1

원하는 것은 무엇이든 사용할 수 있습니다.chroot아니면 어쩌면창사데비안에서.

편집:
현재 수행 중인 작업을 더 빠르게(즉시) 만들기 위해 overlayfs 또는 squashfs를 사용할 수 있습니다. 이를 위해서는 debootstrap과 squashfs-tools가 필요합니다.

이러한 도구를 사용하면 사용자에게 선택할 수 있는 다양한 런타임 버전이나 아키텍처를 제공할 수 있습니다. 이를 위해서는 qemu-user-static및 가 필요합니다 ChrootDebootstrap.

관련 정보