시나리오는 다음과 같습니다. 우리 회사에서는 데이터 보안 조치로 사용자가 USB 드라이브에 쓰는 것을 방지하려고 합니다. 하지만 문제가 있습니다. 특정 그룹(예: "usbwriters")에 속한 사용자는 이동식 USB 미디어에 데이터를 쓸 수 있어야 합니다.
최신 데스크탑 환경의 사용자 경험이 손상되어서는 안 되므로 프로세스가 사용자에게 투명해야 합니다. 드라이브를 삽입하면 자동으로 마운트되어야 하며 기본 알림(gnome과 같은) 등을 표시해야 합니다.
지금까지 수행한 작업: udev/rules.d/를 변경하고 다음을 추가했습니다.
SUBSYSTEM=="block",ACTION=="add",ATTRS{removable},OWNER="root",GROUP="usbwriters",MODE="0464",RUN{program}="/sbin/blockdev --setro %N"
엄청난. 나는 그것이 전투의 절반이라고 생각합니다. 이제 USB 드라이브를 연결하는 모든 사용자는 해당 드라이브를 읽기 전용으로 마운트하게 됩니다. 문제는 쓰기 가능(읽기/쓰기)으로 마운트하려면 "usbwrites" 그룹의 사용자가 필요하다는 것입니다.
--options group=usbwriters(또는 gid=XXXX)를 전달하는 udisks를 실행하여 UDEV 규칙을 설정하려고 시도했지만 "GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermission" 오류가 발생했습니다.
그러다가 이 일을 하면 안 되고 더 좋은 방법이 있을 것이라는 결론에 도달했습니다.
도와주세요? 이게 쉬워야 하지 않나요?
답변1
가장 먼저 떠오르는 점은 모든 USB 블록 장치의 소유자=루트, 그룹=usbwriters, 모드=660입니다. 이는 그룹에 속하지 않은 사용자가 블록에 직접 쓰는 것을 방지합니다.
그런 다음 해당 그룹의 사용자가 FAT이든 다른 형식이든 실제로 USB 스틱에 파일 시스템을 마운트하는 몇 가지 시나리오를 알아보세요. 예를 들어 usbmount
적절한 권한이 있는 디렉터리의 마운트 지점을 사용하거나 USB 스틱을 자동으로 마운트하는 데 사용하는 모든 것을 사용합니다.