제한된 권한으로 프로세스 시작

제한된 권한으로 프로세스 시작

나는 매우 제한된 권한으로 명령줄에서 프로세스를 시작할 수 있기를 원합니다. 기본적으로 사용자 영역에 있는 항목에 액세스하지 않고도 이해할 수 없는 프로세스를 실행할 수 있기를 원합니다. 예를 들어, 지나치게 방해가 되는 설치 프로그램을 작성하는 경향이 있는 동료로부터 패키지를 받았다면 다음과 같이 할 수 있습니다.

> subdo make

make상위 디렉토리를 건드리지 않고 실행됩니다 . 유닉스에도 그런 기능이 있나요?

답변1

가장 쉬운 방법은 계정을 사용하는 것입니다 nobody.

sudo -u nobody make

nobody누구나 쓸 수 있는 파일을 제외한 어떤 것에도 쓸 수 있는 권한이 있어서는 안 됩니다.

답변2

상위 디렉토리를 건드릴 수 없도록 make를 실행합니다.

이것은 기본적으로 chroot를 설명합니다.

그러나 chroot를 수행하면 프로세스는 새 루트 디렉터리 아래의 폴더를 제외한 어떤 항목에도 액세스할 수 없습니다. 예를 들어, 프로세스가 e.g.에서 일부 프로그램을 실행해야 하거나 /usr/bine.g.에서 일부 공유 라이브러리를 로드해야 하는 경우 /usr/lib해당 프로그램을 실제로 새 루트 디렉터리에 복사하지 않으면 이를 수행할 수 없습니다. 실제로 실행하려는 프로그램에 따라 다릅니다.

다양한 프로그램에 대한 많은 튜토리얼을 찾을 수 있습니다. 예를 들어 다음은 샘플 BIND chroot 튜토리얼입니다:

답변3

en.wikipedia.org: Systrace

OpenBsd 매뉴얼 페이지

전략 생성:

systrace -A -d /etc/systrace/make.policy/ \
         -E /var/log/systrace_make.log make

선호하는 텍스트 편집기를 사용하여 전략을 편집하세요.

vi /etc/systrace/make.policy/

이후 시작 프로세스에는 다음과 같은 제한 사항이 있습니다.

systrace -a -d /etc/systrace/make.policy/ \
         -E /var/log/systrace_make.log make

내 다른 것도 확인해봐답변 sshd와 함께 systrace 사용 정보

관련 정보