제한된 권한과 파일 시스템에 대한 액세스가 제한된 프로세스를 실행하는 방법을 찾고 있습니다. 나는 systemd-run
이것을 루트로 실행할 때 완벽하게 작동하기를 바라고 있습니다.
$ sudo systemd-run --pipe --quiet --wait -p ReadOnlyPaths=/ touch ~/nope
/usr/bin/touch: cannot touch '/home/me/nope': Read-only file system
불행히도 동일한 옵션이 --user
스키마에서는 작동하지 않는 것 같습니다.
$ systemd-run --user --pipe --quiet --wait -p ReadOnlyPaths=/ touch ~/nope
$ ls -al ~/nope
-rw-rw-r-- 1 me me 0 Nov 9 13:51 /home/me/nope
루트가 아닌(Sudo가 아닌) 사용자로서 이를 사용하여 systemd-run
제한된 권한, 파일 시스템에 대한 제한된 액세스 등으로 프로세스를 실행할 수 있습니까? 그렇다면 어떻게 해야 할까요?
노트:
시스템 기능을 사용하려면 권한 없는 사용자 네임스페이스가 필요하다는 내용을 온라인에서 본 적이 있지만
ProtectHome
내 컴퓨터에서는sysctl
그렇게 나와 있으므로kernel.unprivileged_userns_clone = 1
문제가 되지 않는 것 같습니까?프레임워크 문제에 대한 배경 지식: 현재 특정 키를 사용하는 로그인이 다음 과 같이 실행되도록 제한한다는
command="rsync --server --daemon ." … ssh-rsa …
내용의 줄이 있습니다..ssh/authorized_keys
rsync --server --daemon
원격 셸 연결을 통해 rsync 데몬 기능 사용rsync
가능하다면 서버의 결과 프로세스가 특정 폴더만 수정되도록 제한하고 싶습니다 .systemd-run
rsync를 위해 특별히 이를 달성하는 다른 방법이 있다는 것을 알고 있지만 기능에 대한 일반적인 답변에 관심이 있습니다.