Docker: bash: /dev/null: 권한이 거부되었습니다.

Docker: bash: /dev/null: 권한이 거부되었습니다.

나는 docker를 사용하여 Linux chroot의 압축을 풀고 그 안에 있는 명령을 실행하지만 chroot 내부에서 이를 얻습니다.

echo ciao > /dev/null
bash: /dev/null: Permission denied

null 장치가 손상된 것 같다고 생각하여 다른 것을 시도했습니다.

rm -f /dev/null ; mknod -m 0666 /dev/null c 1 3; echo ciao > /dev/null 
bash: /dev/null: Permission denied

그러나 그것도 작동하지 않았습니다.

statmain 작업 /dev/null과 chroot 내의 작업 간에는 차이가 없습니다.

제가 이 문제에 관해 글을 쓴 첫 번째 사람인 것 같아서 이 글을 쓰게 되었습니다.

답변1

속도상의 이유로 내 chroot는 tmpfs에서 추출되어 --tmpfs /tmpfs:execdocker에 마운트됩니다.

내 마운트는 다음과 같습니다

tmpfs on /tmpfs type tmpfs (rw,nosuid,nodev,relatime)`

execdocker가 tmpfs 설치에 추가한 기본값을 재정의해야 했던 방법과 유사하게 재정의 해야 하는 패스가 noexec있었습니다 .nodev

따라서 매개변수는 다음과 같습니다.

--tmpfs /tmpfs:exec,dev

짜증나는 부분은 mknod실패하거나 오류를 보고하지 않는다는 것입니다. 장치 파일이 생성되었지만 실행할 수 없습니다.

관련 정보