%EC%9D%98%20%EC%95%A1%EC%84%B8%EC%8A%A4%EB%A5%BC%20%ED%8A%B9%EC%A0%95%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EB%A7%8C%20%EC%A0%9C%ED%95%9C.png)
예를 들어, 특정 디렉토리에만 프로그램의 액세스를 제한하는 것이 가능합니까?바이버Fedora에서 다른 디렉토리는 읽을 수 없고 아래 디렉토리만 읽을 수 있도록 강제하시겠습니까 /home/username/.local/share/viber/exchange
?
만들고 실행해봤습니다바이버또 다른 user:group
( viber:viber
). 나 또는 다른 사용자에게 속한 Viber 파일 내부에서 열려고 하면 해당 파일을 읽을 수 없습니다. 목표는 달성되었지만 부분적으로. 이제 나는 또 다른 문제에 부딪혔습니다.바이버메시지로만 작동하고 전화를 걸려고 하면 마이크도 스피커도 찾을 수 없다고 뜹니다. 왜인지 알 것 같은 느낌이 듭니다(저는 X 서버(GNOME)를 직접 실행하고바이버viber:viber
( ) ) 로 user:group
하지만 어떻게 해야 할지 모르겠습니다.바이버내 이름으로 X 서버를 운영하면서 사용자가 마이크와 스피커를 사용할 수 있나요?
viber
어쩌면 특정 그룹에 사용자를 추가해야 합니까 ? 아마도 SELinux에 몇 가지 해결 방법이 있을까요? 그렇다면 적절한 정책 사례를 제공해 주실 수 있나요? :디
바이버훌륭해 보이지만 오픈 소스가 아니며 사전 컴파일된 소프트웨어의 소스 코드에 무엇이 있는지 오직 신만이 아십니다!
답변1
사용chroot
작은 만들기루트 디렉토리/bin
, /usr
, 등을 포함하고 (필요에 따라) 모든 내용을 여기에 복사합니다 /lib
./tmp
새로운 루트, chroot
이 디렉토리로 실행하는 것보다.
chroot
명령은 정확히 이 의미로 만들어진 매우 오래된 Un*x 도구입니다.
당신은 할 수묶다디렉토리컨테이너사용하여 mount --bind
.
man chroot
과 을 살펴보세요 man mount
!
작은 시도:
ldd /bin/bash
linux-vdso.so.1 => (0x00007fff3e4b5000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f06290a1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0628e9d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0628b12000)
/lib64/ld-linux-x86-64.so.2 (0x00007f06292e8000)
sudo -s
경고, 거기에서!
mkdir /tmp/test/chrooted/lib64
cp -t /tmp/test/chrooted/lib/x86_64-linux-gnu/ \
/lib/x86_64-linux-gnu/{libc.so.6,libdl.so.2,libtinfo.so.5}
cp -t /tmp/test/chrooted/lib64 /lib64/ld-linux-x86-64.so.2
chroot /tmp/test/chrooted
나는 투옥되었습니다!
ls
bash: ls: command not found
ls
에는 명령이 없습니다 /bin
!
또는openvz
lxc
다음 단계가벼운 가상화openvz
또는 중 하나 lxc
(또는 다른 것)를 실행하는 것입니다.
이 도구는 대략적으로 수행됩니다. 와 동일 chroot
하지만 사용격리된 커널 네임스페이스. 이를 통해 네트워크 인터페이스 또는 기타 장치와 메모리, CPU 및 기타 리소스에 대한 일부 제한 사항을 시뮬레이션할 수 있습니다.
이런 종류의가벼운 가상화chroot
, 을 사용 하는 것과 동일한 방식으로 디렉토리를 공유할 수 있습니다 mount --bind
(또는 openvz
사용이 mount -t simfs
유용할 수도 있음).
강력한 가상화
kvm
다음으로 또는 xen
기타 독점 가상화 소프트웨어를 사용할 수 있습니다 ...
하지만 거기서부터 디렉토리 공유는 일종의 의미를 내포합니다.(의사) 네트워크 서비스...