파일 시스템을 위한 경량 사용자 공간 샌드박스

파일 시스템을 위한 경량 사용자 공간 샌드박스

$HOME/abc/def/악의적이지 않은 프로세스가 디렉토리에 쓰고 있다고 생각하도록 속이고 싶습니다 $HOME/xyz/def(이전 경로는 하드코딩되어 여러 가지 이유로 작동하지 않았습니다). 이 $HOME/abc/def/디렉터리는 전혀 존재해서는 안 됩니다. 사용자 네임스페이스 + 파일 시스템 네임스페이스를 사용하여 aufs 파일 시스템을 마운트하려고 했지만 실패했습니다(마운트가 완료되어 권한이 부족함을 나타냄).

user+filesystem 네임스페이스를 사용할 수 있나요? 그렇지 않은 경우 단일 프로그램에 대해 이러한 파일 시스템 네임스페이스를 생성하는 suid 프로그램을 생성할 때 위험이 있습니까(해당 설정은 현재 덜 안전하지만 보안에 유의하고 싶습니다)? 아니면 이를 수행하는 기존 솔루션이 있습니까?

답변1

심볼릭 링크를 사용하는 것만으로는 충분하지 않습니까? 예:

[root@talara ~]# ls -la /tmp/home/
total 12
drwxr-xr-x  3 root root 4096 Jul  5 16:01 .
drwxrwxrwt. 9 root root 4096 Jul  5 16:01 ..
drwxr-xr-x  2 root root 4096 Jul  5 16:01 123
lrwxrwxrwx  1 root root   13 Jul  5 16:01 321 -> /tmp/home/123
[root@talara ~]# touch /tmp/home/321/ACTIVITY_TEST
[root@talara ~]# ls -la /tmp/home/123/
total 8
drwxr-xr-x 2 root root 4096 Jul  5 16:02 .
drwxr-xr-x 3 root root 4096 Jul  5 16:01 ..
-rw-r--r-- 1 root root    0 Jul  5 16:02 ACTIVITY_TEST
[root@talara ~]#

이는 하드 코딩된 스크립트나 프로그램을 속이기에 충분합니다.

관련 정보