sshfs 폴더에 chroot

sshfs 폴더에 chroot

sshfs 설치 디렉터리로 루트를 이동하려고 합니다.

mkdir remoteroot
sshfs remote:/ remoteroot/
sudo chroot remoteroot/

그러나 나는 그것을 이해한다 chroot: cannot change root directory to remoteroot/: Permission denied. 내가 뭔가 잘못하고 있는 걸까요, 아니면 단순히 지원되지 않는 걸까요? 그렇다면 다른 옵션이 있습니까?

답변1

문제는 sshfs가 다른 사용자(심지어 루트)가 내 원격 파일 시스템에 액세스하는 것을 막으려고 한다는 것이었습니다. 또한 문자 장치(예: /dev/null)에 액세스하는 것은 문제가 있으며 아마도 원하는 것이 아닐 수도 있습니다. 예를 들어 파이핑이 /dev/null네트워크를 통해 효과적으로 바이트를 보낼 것이라고 추측하기 때문입니다.

이것이 내가 지금 사용하고 있는 것입니다:

mkdir remoteroot
sshfs remote:/ remoteroot -o allow_other -o kernel_cache   #you need to enable user_allow_other in /etc/fuse.conf
sudo mount --bind /tmp/ remoteroot/tmp/
sudo mount --bind /dev remoteroot/dev
sudo mount --bind /sys remoteroot/sys
sudo mount --bind /run remoteroot/run
sudo mount --bind /var/tmp remoteroot/var/tmp
sudo chroot remoteroot

su다른 사용자로 전환하면 원격 측에서는 새 사용자로 전환되지 않으므로 파일 소유권 문제가 있을 수 있다는 점을 고려하세요 .

관련 정보