사용자에게 sudo 액세스 권한을 부여하지 않고 커널 모듈과 상호 작용합니까? [폐쇄]

사용자에게 sudo 액세스 권한을 부여하지 않고 커널 모듈과 상호 작용합니까? [폐쇄]

사용자 공간에서 커널 모듈을 만드는 방법을 배우고 있습니다. 사용자 공간에서 제어할 수 있는 간단한 커널 모듈을 아는 사람이 있나요?

/lib/modules를 살펴봤지만 대부분의 드라이버는 루트 액세스가 필요하고 난해한 기능을 사용하므로 모든 소스 코드를 살펴보고 싶지는 않습니다. (예: 에포에).

사용자 공간 커널 장치 드라이버를 아는 사람이 있나요?

여기에 이미지 설명을 입력하세요.

답변1

"사용자 공간 커널 모듈"에 대한 설명은 모순적입니다. 즉, 사용자 공간이나 커널에서 실행되지만 어느 쪽에서도 실행될 수 없고, 커널 모듈도 사용자 공간에서 실행될 수 없습니다.

즉, 쓸 수 있다장치 드라이버사용자 공간에서는 상당히 일반적인 커널 API(모듈이든 아니든 커널 공간에서 실행됨)를 사용하고 사용자 공간에서 실제 장치 드라이버 기능을 구현합니다. libusb, 또는 를 사용하는 spidev장치 드라이버는 i2cdev이에 대한 예입니다. 라이브러리를 사용하여 잘 알려진 커널 API에 액세스하거나 API에 직접 액세스하지만 장치 드라이버 논리는 사용자 공간에서 실행됩니다.

또 다른 비슷한 예는퓨즈: 고정 커널 API를 이용하여 사용자 공간에 자신만의 파일 시스템을 구현할 수 있습니다.

따라서 예제가 필요하면 Google에서 이러한 API를 사용하는 장치 드라이버를 찾아보세요. 그러나 이는 여전히 "사용자 공간 커널 장치 드라이버"가 아닌 "사용자 공간 장치 드라이버"의 예이므로 원하는 것인지 확실하지 않습니다.

커널 공간에서 실행되는 무언가를 작성하려면 커널 모듈 작성 방법을 배워야 합니다.

답변2

파일생성에 대한 sysfs답변이 있습니다스택 오버플로. 처리하기 쉽고 기본적으로 루트 권한 없이 액세스할 수 있습니다.

관련 정보