폴더 1개를 제외한 systemd 서비스의 모든 내용은 읽기 전용입니다.

폴더 1개를 제외한 systemd 서비스의 모든 내용은 읽기 전용입니다.

내 시스템을 엉망으로 만들지 않기 때문에 신뢰하지 않는 스크립트를 실행하겠습니다.

스크립트가 실행되어야 하는 홈 디렉터리의 폴더를 제외하고 모든 것이 읽기 전용인 셸을 시작하고 싶습니다.

나는 꽤 가깝다고 생각한다.

이것은 모든 것을 차단합니다.

sudo systemd-run --pty --pipe --uid=1000 --property=ProtectHome=read-only /bin/bash

이것이 내가 원하는 것과 거의 비슷하지만 /가 여전히 rw이므로 홈 폴더의 나머지 부분은 rw로 유지됩니다.

sudo systemd-run --pty --pipe --uid=1000 --property=ReadWritePaths=$(pwd) /bin/bash

홈 읽기 전용이지만 홈 rw 내에서는 하나의 경로만 가질 수 있습니까?

답변1

원칙적으로 이 두 가지 지침을 결합할 수 있습니다. 하지만 나는 당신의 질문 때문에 조금 혼란스러워요: 당신이 하고 싶다고 말했어요모든 것읽기 전용이고 사용자의 홈 디렉토리는 아니지만 ProtectHome=read-only"전체를 차단"합니까? 그러나 에는 영향을 미치지 않으며 및 에만 ProtectHome=read-only영향을 미칩니다 .//home/root

나는 이것이 당신이 원하는 것을 해야 한다고 생각합니다.

sudo systemd-run --pty --pipe --uid=1000 -p ReadOnlyPaths=/ -p ReadWritePaths="$(pwd)"

전체 파일 시스템이 아닌 다른 홈 디렉토리만 읽기 전용으로 설정하려면 을 ProtectHome=read-only사용하십시오 ReadOnlyPaths=/.

관련 정보