기본 장치에 대한 액세스는 기본적으로 파일 권한으로 만 제어되므로 USB 스틱에 시스템의 실제 장치에 해당하는 쓰기 가능한 장치 노드가있는 POSIX 파일 시스템이 포함 된 경우 해당 장치 노드를 사용하여 해당 장치에 액세스 할 수 있습니다 "일반"사용자로서의 장치. 오디오 장치 중 하나 인 웹캠 /dev/sda
(캐릭터 장치가 아닌 블록 장치이지만 인수는 동일 함)에 해당하는 장치를 상상해보십시오 ...
다음은 상황을 명확하게하는 예입니다. 당신이 접근하고 싶다고 말하면 (당신 /dev/sda
이 될 수있는 프로그램을 심는 것을 포함하여 디스크의 내용으로 원하는 모든 것을 할 수 있습니다 root
; 이것은 블록 장치이지만 문제는 문자 장치와 동일합니다). 대상 시스템에 ls -l /dev/sda
쇼
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
이것은 주 번호 8과 부 번호 0 ( 라인 중간에 있음 /dev/sda
)을 가진 블록 장치 ( b
라인의 시작 부분에 있음 8, 0
)를 의미합니다. 장치는 root
(읽기 / 쓰기) 및 disk
그룹 구성원 (읽기 / 쓰기) 만 액세스 할 수 있습니다 .
이제이 시스템에서 당신이 될 수는 root
없지만 어떤 이유로 든 USB 스틱을 사용자없이 마운트 할 수 있다고 상상해보십시오 nodev
. 다른 시스템에서 root
USB 키에 해당하는 특수 파일을 만들 수 있습니다.
mknod -m 666 usersda b 8 0
usersda
모든 사람이 읽고 쓸 수있는 특수 파일을 만듭니다 .
대상 시스템에 키를 마운트하면 presto와 마찬가지로 usersda
장치를 동일한 방식으로 사용할 수 /dev/sda
있지만 액세스 제한은 없습니다 ...
(이는 해독 된 매퍼 장치에 액세스 할 수있는 한 암호화 된 파일 시스템에서도 작동합니다. 적절한 /dev/mapper
항목 과 일치하는 장치를 만듭니다 .)