Debian(Linux) 시스템에서 USB 포트 권한을 제한할 수 있습니까?
몇 가지 예:
- 모든 유형의 물질을 막는 능력을 억제합니다.제외하고USB 키?
- 권한 부여읽다USB 키이지만쓰지 마위에?
- USB 플래시 드라이브가 시스템에 삽입되면 경고 신호를 보내시겠습니까?
답변1
Linux 커널이 새 장치를 감지하면 다음을 보냅니다.우데브. udev의 임무는 사용자가 새로운 장치에 액세스할 수 있도록 만드는 것입니다. 많은 장치의 경우 udev에서 해야 할 일은 /dev
장치를 마운트하는 것뿐입니다. 블록 장치의 경우 이를 통해 장치를 마운트할 수 있습니다. 직렬 포트 및 사운드 포트와 같은 문자 장치의 경우 특수 응용 프로그램에서 장치를 사용할 수 있습니다. 네트워크 인터페이스의 경우 udev에서 이름을 설정할 수 있습니다. 키보드의 경우 udev는 추가 스캔 코드를 정의할 수도 있습니다. udev가 장치 항목을 생성하지 않으면 사실상 장치가 사용되지 않게 됩니다.
Udev는 다음으로 제어할 수 있습니다.규칙;기본 규칙은 에 존재하며 /lib/udev/udev.d
관리자는 에 있는 파일을 통해 이를 무시할 수 있습니다 /etc/udev/udev.d
. 각 udev 규칙에는 다음 형식의 조건이 있습니다. 이러한 규칙이 모두 충족되면 규칙이 적용됩니다. 장치에 적용되는 조건을 실행하거나 볼 수 있습니다.VARIABLE==VALUE
udevadm info -a -n /dev/…
udevadm info -a /sys/…
내가 아는 한, 장치를 무시하는 일반적인 메커니즘은 없습니다. 네트워크 인터페이스가 아닌 경우(그 아래의 장치 노드를 사용하지 않음 /dev
) 권한을 부여하지 않음으로써 효과적으로 사용할 수 없게 만들 수 있습니다.
상황,모드="000"
USB 장치에는승인 메커니즘: 이 authorized
속성을 0(false)으로 설정하면 시스템이 장치에 액세스하지 않습니다. 이 규칙에 따르면 USB 저장 장치 이외의 USB 장치는 사용할 수 없습니다.
ACTION=="add", SUSYSTEMS=="usb", DRIVERS!="usb-storage", ATTR{authorized}="0"
좋아요부팅 순서 후 USB 장치 비활성화다음 코드 조각을 사용하여 모든 USB 호스트 포트를 비활성화합니다 /etc/rc.local
.
for x in /sys/bus/usb/devices/usb*; do
echo 0 >"$x/authorized_default"
done
authorized
속성을 1로 설정 하면 udev 규칙을 통해(또는 수동으로) 개별 장치를 활성화할 수 있습니다 .
저장 장치를 읽기 전용으로 만들려면 ro
해당 속성을 1로 설정하십시오.
명령을 실행하려면 RUN
udev 규칙의 키를 사용하십시오(명령에 대한 전체 경로가 필요하며 자세한 내용은수동사용 가능한 이스케이프 시퀀스 및 환경 변수를 얻으려면) 명령으로 GUI에 액세스하려면 다음을 참조하세요.
원격 X 모니터에서 창 열기("모니터를 열 수 없습니다" 이유)?
답변2
몇 가지 udev 규칙을 설정해야 합니다.
요구 사항을 충족하기 위한 단계:
- 허용된 기기를 허용 목록에 추가하세요.
- 제한된 권리/소유권을 다른 모든 사람에게 적용
- 규칙 파일을 삽입하여 구성 스크립트를 트리거할 수도 있습니다.
관련 스레드는 다음과 같습니다.https://askubuntu.com/questions/15570/configure-udev-to-change-permissions-on-usb-hid-device
설명하고 추가 지침을 제공하는 데 도움이 되어야 합니다. 막히면 질문에 다음 장애물을 추가하세요.