Kiểm tra xem nhóm tệp thiết bị thuộc về nhóm nào. Ví dụ: tại đây tôi nhận được:
$ ls -l /dev/input/
...
crw-rw---- 1 root plugdev 13, 64 Nov 4 18:01 event0
crw-rw---- 1 root plugdev 13, 65 Nov 4 18:01 event1
crw-rw---- 1 root plugdev 13, 66 Nov 4 18:01 event2
crw-rw---- 1 root plugdev 13, 67 Nov 4 18:01 event3
crw-rw---- 1 root plugdev 13, 68 Nov 4 18:01 event4
...
Người dùng thực thi chương trình của bạn cần nằm trong nhóm plugdev trên hệ thống này. Một cái gì đó tương tự có lẽ là trường hợp trên hệ thống của bạn.
Nếu bạn đang yêu cầu cách phá vỡ điều đó (đọc hoặc ghi vào thiết bị mà không có trong nhóm), thì không. Điều đó rõ ràng sẽ đánh bại mục đích bảo mật mặc dù nhóm người dùng.
Cách thay thế để đọc thiết bị sự kiện trực tiếp sẽ là sử dụng API không gian người dùng thích hợp thay thế. Ví dụ, để đọc bàn phím bạn sẽ sử dụng ncurses, và để đọc con chuột bạn sẽ sử dụng GPM.
Nguồn
2012-11-04 16:48:21
Bạn sẽ luôn cần có quyền root để thực hiện việc này. Nếu không, một bàn phím logger/sniffer/spy có thể được có thể. Và Unix được thiết kế để trở thành một hệ thống an toàn, đa người dùng ... –