Ubuntu 16.04 su는 USB 장치를 요청할 수 있지만 다른 사용자는 그럴 수 없습니다.

Ubuntu 16.04 su는 USB 장치를 요청할 수 있지만 다른 사용자는 그럴 수 없습니다.

방금 USB 디지털 분광계를 노트북에 연결하는 OceanOptics SpectraSuite를 Ubuntu 16.04에 설치했습니다. 사용자 "강사"로 소프트웨어를 실행하면 하드웨어에 액세스하지 않고 시작됩니다. sudo로 실행하면 정상적으로 시작되고 하드웨어가 제대로 초기화됩니다.

instructor@modern5-Latitude-E6500:~$ which spectrasuite
/usr/local/bin/spectrasuite
instructor@modern5-Latitude-E6500:~$ spectrasuite
Linux native USB library loaded.
Detected device change on USB
Could not claim device (Vid: 0x2457, Pid: 0x1022, iface: 0)
The interface could not be claimed.
^C
instructor@modern5-Latitude-E6500:~$ sudo spectrasuite
[sudo] password for instructor:
Linux native USB library loaded.
Detected device change on USB
The interface was claimed successfully.

사용자를 전환하지 않고 학생들(다른 사용자 이름을 가진)이 소프트웨어를 시작하도록 하려면 어떻게 해야 합니까?

답변1

장치는 비슷한 방식으로 연결될 수 있습니다 /dev/ttyUSB0. 장치에 대한 권한을 확인하고 다른 모든 사용자를 적절한 그룹에 추가할 수 있습니다. 예를 들어, 내 시스템에는 다음과 같은 USB 장치가 있습니다.

$ ls -al /dev/ttyUS*
crw-rw---- 1 root dialout 188, 0 Sep  1 10:00 /dev/ttyUSB0
$ 

dialout따라서 그룹( ) 에 나를 추가하면 sudo adduser myname dialout장치에 액세스할 수 있습니다. 다른 장치(예: 모뎀 및 직렬 포트)가 이 dialout그룹을 사용할 수 있습니다. 이러한 장치를 소유하고 있고 학생들이 해당 장치에 액세스하지 못하도록 하려면 다른 접근 방식을 사용해야 할 수 있습니다.

답변2

지금까지 만족스러운 해결책은 나오지 않았습니다. 다행스럽게도 OceanOptics 기술 지원에서는 이를 성공적으로 달성할 수 있는 업데이트된 구성 파일(10-oceanoptics.rules)을 제공했습니다.

다른 실패 방법으로는 SELinux 구성 설정 변경(SELinux는 16.04에서 기본적으로 비활성화됨) 및 2009년 2월 설치 CD에 포함된 10-oceanoptics.rules 파일 사용이 있습니다.

관련 정보