2013-03-27 5 views
2

나는 사용자가 Octave 코드 (기본적으로 Matlab)를 실행할 수있게 해주는 webapp (우분투 서버에서 실행 중)에서 작업 중이다. 그러나, 나는 단지 그들에게 지정된 홈 폴더의 폴더를 읽거나 수정할 수 있기를 원합니다.chroot 대체

나는이 일을하는 한 가지 방법이라고 알고 있지만 안전하지 않으며 chroot (이상적으로는 앱이 필요하지 않음)에 루트 권한이 필요합니다.

또한 실행하기 전에 사용자의 코드를 읽고 파일에 쓰려고하면 오류가 발생하지만,이를 방지하려면 사용자가 내 규칙을 위반할 수있는 모든 방법을 생각해 볼 필요가 있습니다. .

저는 Linux-VServer으로 보았습니다.하지만 내가 잘못 입력하지 않는 한 각 사용자마다 별도의 가상 서버가 필요합니다.

편집 : SSH 연결을 설정하고 연결을 감옥에 보낼 수는 있지만 불필요한 자원 탐욕입니다.

chroot을 사용하지 않고 특정 폴더를 감옥에 넘길 수있는 방법이 있습니까?

+0

는 : FreeBSD는 투옥 프로세스에 대한 더 나은 기능이 있습니다. 다른 BSD의 맛은 아마도 그렇다. – Thomas

답변

0

체크 아웃 lxc.

http://lxc.sourceforge.net/

LXC는 ... "LXC 리눅스 컨테이너에 대한 사용자 공간 제어 패키지입니다." 그것은 cgroups 가상화와 같습니다.

+0

docker.io도 꽤 좋습니다. –

+0

lxc는 안전한 격리를 제공하지 않습니다. 이것은 의도적으로 설계된 것입니다. – cmc

0

당신은 chroot를 꽤 멋진 래퍼 인 Coffer를 사용할 수 있습니다. 그것은 당신을 위해 많이 들지 않습니다. 당신은 운영 체제를 변경하는 옵션이있는 경우

https://github.com/Max00355/Coffer