nodev 옵션을 사용한 /(파일 시스템의 루트 디렉터리) 마운트 효과

nodev 옵션을 사용한 /(파일 시스템의 루트 디렉터리) 마운트 효과

에서 마운트 옵션을 설정하면 어떤 효과가 있는지 알고 싶습니다 nodev.//etc/fstab

내가 이해한 바에 따르면 이는 nodev특수 노드의 해석을 방지하므로 악의적인 사용자나 공격자가 자신의 장치 노드를 설치 및 사용하여 시스템에 큰 피해를 입히는 것을 방지합니다.

내 첫 번째 생각은 사용할 장치( 온/오프 마운트된 파티션 포함)가 없기 때문에 마운트가 완전히 쓸모 없게 되고 시스템이 제대로 부팅되지 못하게 /할 것이라는 생각이었습니다.nodev/dev/home/usr

Ubuntu 설치 및 모든 항목에서 테스트했을 때 놀랐던 점을 상상해 보십시오.등장정상적인 일. /dev/zero그리고 /dev/null그들이 해야 할 일을 했습니다. 소켓과 같이 무엇이든 할 수 있는 다른 장치 노드가 없지만 어떻게 해야 할지 모르겠습니다.


  1. 무슨 일이 일어나고 있으며 설치가 계속 작동하는 이유를 설명할 수 있는 사람이 있습니까?

  2. 시스템이 설치와 같은 /어리석은 일을 암묵적으로 무시합니까 nodev? 배포판이나 커널 전체에서 처리가 일관됩니까?

  3. 원래 질문으로 돌아가서: 실제로 관찰/촉발하지 못한 (바람직하지 않은) 효과가 있습니까?

답변1

명령(또는 cat /etc/mtab)을 실행하면 mount/dev가 /와 별개의 자체 파일 시스템임을 알 수 있습니다.

...
/dev에서 udev 유형 devtmpfs(rw,mode=0755)
...

내 드라이브의 루트 파일 시스템에는 장치 파일이 없는 것 같습니다. 다음을 사용하여 찾고 있습니다.

sudo find / -xdev -type b -o -type c

따라서 nodev를 사용하여 이 파일 시스템을 마운트해도 눈에 띄는 영향은 없습니다.

답변2

init가 루트 파일 시스템을 마운트한 후 /dev/ 파일 시스템을 마운트하기 전에 / 파일 시스템에 다음 파일을 포함하는 숨겨진 /dev/ 디렉토리가 있습니다.

    crw-rw-rw- 1 root root 5, 1 Nov  9 20:27 console
    lrwxrwxrwx 1 root root   13 Nov  9 20:27 fd -> /proc/self/fd
    crw-rw-rw- 1 root root 1, 7 Nov  9 20:27 full
    crw-rw-rw- 1 root root 1, 3 Nov  9 20:27 null
    crw-rw-rw- 1 root root 5, 2 Nov  9 20:27 ptmx
    drwxr-xr-x 2 root root 4096 Nov  9 20:27 pts
    crw-rw-rw- 1 root root 1, 8 Nov  9 20:27 random
    drwxr-xr-x 2 root root 4096 Nov  9 20:27 shm
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stderr -> /proc/self/fd/2
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stdin -> /proc/self/fd/0
    lrwxrwxrwx 1 root root   15 Nov  9 20:27 stdout -> /proc/self/fd/1
    crw-rw-rw- 1 root root 5, 0 Nov  9 20:27 tty
    crw-rw-rw- 1 root root 1, 9 Nov  9 20:27 urandom
    crw-rw-rw- 1 root root 1, 5 Nov  9 20:27 zero

이 시간 내에 이러한 장치에 쓰기를 시도하면 실패합니다. 어떤 것이 실제로 변화를 가져올지 모르기 때문에 이것은 매우 좋은 질문입니다. 나중에 나쁜 일이 발생하면 콘솔이 엉망이 될 수 있습니다. 스팸메일을 받을 수도 있습니다. 어떤 것들은 엔트로피가 없을 수도 있습니다.

답변3

글쎄요, 제 생각에는 이러한 것들이 어떻게 함께 작동하는지에 대해 당신이 틀렸다고 생각합니다. nodev 속성은 관리 파티션에서 새로 생성된 장치를 장치 위협으로 처리하지 않는 메시지를 전송하기 위한 것이기 때문에 설치는 계속 작동합니다.

/dev 디렉토리는 다음을 기반으로 장치를 검색합니다.우데브악마. dev에서 장치를 나타내는 방법에 대한 규칙은 /lib/udev/rules.d에서 찾을 수 있습니다. 각 파일에는 .rules라는 접미사가 있기 때문입니다.

관련 정보