![chroot를 통해 Java 프로그램을 "감옥"하는 방법은 무엇입니까? (페도라 23)](https://linux55.com/image/89924/chroot%EB%A5%BC%20%ED%86%B5%ED%95%B4%20Java%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%22%EA%B0%90%EC%98%A5%22%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20(%ED%8E%98%EB%8F%84%EB%9D%BC%2023).png)
최근에 마인크래프트 서버를 만들었습니다페도라 23, 그리고 "만약 나쁜 사람이 내 컴퓨터에서 매우 중요한 파일을 찾으려고 하면 어떻게 될까요? 내 파일을 보호해야 합니다!"라는 질문에 직면했습니다.
내 항아리가 /home/
디렉토리에 있습니다. 하지만 처음부터 모든 프로그램이 내 사용자의 모든 디렉터리에 액세스할 수 있기 때문에 이를 다른 디렉터리로 옮기면 악의적인 사람들이 내 파일에 액세스할 수 있을까 걱정됩니다.
제 생각에는 을 사용해야 한다고 생각합니다 chroot
. 하지만 가장 큰 문제는 어떻게 해야 할지 모르겠습니다.
답변1
패트릭의 조언은 docker
훌륭합니다. 다른 가상화 방법도 잘 작동합니다(예: VirtualBox
또는 kvm
).
minecraft
또 다른 옵션은 Minecraft 서버를 실행하기 위해 시스템에 다른 사용자(예:)를 생성하는 것입니다 . 자체 그룹(예: minecraft
)을 제공하고 모든 Minecraft 파일에 그룹에 대한 RW 액세스 권한이 있는지 확인한 다음 minecraft
사용자가 Minecraft 파일에 대한 전체 읽기 및 쓰기 액세스 권한을 갖도록 그룹에 자신의 사용자를 추가하세요.
또한 Minecraft 사용자가 대부분의 파일에 대한 쓰기 액세스 권한을 갖지 않도록 모든 Minecraft 파일 및 디렉터리에 대한 권한을 설정할 수도 있습니다(Minecraft가 반드시 쓸 수 있어야 하는 파일만 해당). 이를 위해서는 Minecraft 사용자가 필요합니다.아니요Minecraft 그룹의 구성원이어야 합니다(기본 GID가 있거나 기본 GID일 수 있음) nobody
.nogroup
Minecraft 서버를 손상시키는 사람은 Minecraft가 소유한 파일과 모든 사람이 읽고 쓸 수 있는 파일에만 액세스할 수 있습니다. - 파일에 그러한 허용 권한이 없는지 확인하십시오.