[주요기반] (리눅스) U-27 /dev에 존재하지 않는 device 파일 점검

 디바이스가 존재하지 않거나 이름이 잘못 입력된 경우 시스템은 */dev 디렉토리에 계속해서 파일을 생성하여 에러를 발생시킴.

따라서 실제 존재하지 않는 디바이스를 찾아 제거함으로써 root 파일 시스템 손상 다운 등의 문제를 방지하여야 함.

*/dev 디렉토리: 논리적 장치 파일을 담고 있는 /dev 디렉토리는 /devices 디렉토리에 있는 물리적 장치 파일에 대한 심볼릭 링크다.

ex) rmt0을 rmto로 잘못 입력한 경우 rmto 파일이 새로 생성되는 것과 같이 디바이스 이름 입력 오류 시 root 파일 시스템이 에러를 일으킬 때까지 /dev 디렉토리에 계속해서 파일을 생성함.


양호: dev에 대한 파일 점검 후 존재하지 않은 device 파일을 제거한 경우

취약: dev에 대한 파일 미점검, 또는 존재하지 않은 device 파일을 방치한 경우


조치방법:

major, minor number를 가지지 않는 device 파일 제거


OS별 점검 파일 위치 및 점검 방법

SunOS, LINUX,

AIX, HP-UX

dev에 존재하지 않는 device 파일 점검

#find /dev -type f -exec ls -l {} \;





/dev 디렉토리:

논리적 장치 파일을 담고 있는 디렉터리.

/devices 디렉터리에 있는 물리적 장치 파일에 대한 심볼릭 링크이다.

예를 들어 rmt0 rmto 잘못 입력한 경우 rmto 파일이 새로 생성되는 것과 같이

디바이스 이름 입력을 잘못 하면

root 파일 시스템이 에러를 일으킬 때까지 /dev 디렉터리에 계속해서 파일을 생성함.


-rw-r--r-- 1 root root 86 Oct  9  2022 /dev/.udev/db/block:ram11



device파일이 /dev 디렉토리에 저장이 될땐,

1) 'Character' 방식으로 처리: 마우스 등 // 즉각즉각 처리해주어야 하는 것들


2) 'Block' 방식으로 처리: 프린터 등


둘중의 한 방식으로 저장이 되고,

'crw-r--r--' ~ 이런 식이나,

'brw-r--r--' ~ 이런 식으로 저장이 된다.


그리고 각기 Major Number, Minor Number 으로 두개가 저장이 되게 되는데,

이 부분은 저 root 86 이 부분에 파일 크기 대신 쓰여지게 된다.

(일반 파일은 저 86 부분이 파일 크기를 뜻하지만,

device파일은 Major number와 Minor number를 뜻한다. 이 부분이 큰 차이!)


이게 아니라 /dev디렉토리 안에 일반 파일이 존재할 경우는

Major, minor number를 가지지 않는 device 파일이거나

잘못 등록된 파일일 가능성이 높으므로 삭제해주어야 한다.


Comments