Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
kt1117
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 22 cze 2010, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: Unity
Architektura: x86

Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: kt1117 »

Cześć, mam mały problem. Otóż chcę napisać grę na dwie myszy natywną pod linuksa. Ogarnąłem już jakie kody wysyła mysz do /dev/input/event i wszystko byłoby ok, gdyby nie to, że do odpalenia programu który sczytuje dane z tego pliku potrzebuję uprawień sudo. Nie chcę, żeby moją grę trzeba by było uruchamiać z sudo, bo to dosyć słabe. I tu pytanie, czy da się coś zrobić, żeby na dowolnym komputerze otrzymać te dane bez dziurawienia zabezpieczeń systemu?
Ostatnio zmieniony 15 lut 2014, 22:08 przez bear7, łącznie zmieniany 1 raz.
Powód: doprecyzowanie tytułu wątku.
Awatar użytkownika
JSokol
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 18 mar 2010, 10:57
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: Unity
Architektura: x86_64
Lokalizacja: Down under
Kontakt:

Re: /dev/input/eventX

Post autor: JSokol »

Sprawdź choćby bibliotekę ncurses - jeśli to ma być gra konsolowa to na pewno się ta biblioteka przyda no i przy okazji obędziesz się bez zbędnego kombinowania :P
kt1117
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 22 cze 2010, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: Unity
Architektura: x86

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: kt1117 »

Niestety NCURSES mnie nie urządza. Nie ma tam dostępu do surowych kodów myszy, a te są mi potrzebne do ogarniania co i gdzie się dzieje, bo potrzebuję znać zachowanie obu myszy niezależnie. To co się dzieje na konsoli nie musi być ładne, wystarczy mi żeby wyświetlało co się dzieje bo zrobię sobie input menager'a i użyję tego do gry w OpenGL.
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: kabanek »

raczej się nie da, to nie windows :D
Awatar użytkownika
xxx666xxx
Wygnańcy
Posty: 472
Rejestracja: 24 lut 2013, 16:36
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64
Lokalizacja: Jestem nomadem...

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: xxx666xxx »

Nie wiem mogę się mylić ale może do tego pomocne będzie narzędzie takie jak Fakeroot?! Sprawdzałeś z tym?
A) Użycie fakeroot pozwala uniknąć niepotrzebnego korzystania z konta roota.
B) Program fakeroot pozwala na zbudowanie pakietu bez uprawnień roota.
C) Fakeroot (jeżeli mamy zamiar poprowadzić instalację jako nieuprzywilejowany użytkownik)
D) Możemy też skożystać z programu fakeroot - wtedy nie potrzebujemy uprawnień root.
E) `fakeroot' - narzędzie, które pozwala Ci "udawać" bycie administratorem systemu. Uprawnienia administratora są niezbędne w niektórych etapach procesu budowania pakietu.
=> Szczegóły <==
=> PPA Fakeroot <=
Laptop: Toshiba Satellite P75 / Intel i7 / 16GB DDR3 / 1TB SATA3 / Intel HD 4600 <= Debian 7.5 Wheezy MATE amd64.
Awatar użytkownika
ka_o_3991
Przyjaciel
Przyjaciel
Posty: 864
Rejestracja: 01 wrz 2007, 13:34
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: ka_o_3991 »

Fakeroot nic nie da, on nie ma wpływu na faktyczny poziom uprawnień. Nie wiem na ile to pomoże, ale słyszałem o czymś takim jak uinput, to moduł do jądra, może Cię zainteresuje.
kt1117
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 22 cze 2010, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: Unity
Architektura: x86

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: kt1117 »

Na razie mam takie rozwiązanie, że poproszę użytkownika o chmod 660 dla folderu /dev/input/ dla grupy do której on należy. Nie wiem jednak czy to przejdzie, i czy nie podziurawi systemu bo teoretycznie mógłbym tak przecież keyloggera zrobić.
TrolleY
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 160
Rejestracja: 06 cze 2013, 12:40
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: TrolleY »

Może się mylę i to jest złe rozwiązanie ale nie powinieneś mieć jakiegoś service który by sam się odpalał z odpowiednimi uprawnieniami i pozwalał na dostęp do tych zdarzeń, a twoja gra nie powinna z tego service korzystać?
Linux Mint 17 + Cinnamon (x64) / Windows 7 (x64)
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: norvoles »

Ogarnąłem już jakie kody wysyła mysz do /dev/input/event i wszystko byłoby ok, gdyby nie to, że do odpalenia programu który sczytuje dane z tego pliku potrzebuję uprawień sudo. Nie chcę, żeby moją grę trzeba by było uruchamiać z sudo, bo to dosyć słabe.
Myślę, że takie pojęcia jak sgid i suid będą przydatne.
Możesz utworzyć usera, dajmy na to, input (nie musi mieć shella ani home). Nadajesz mu stosowne uprawnienia dostępu do /dev/input/event, a potem ustanawiasz go właścicielem binarki gry (man chown) oraz ustawiasz tej binarce bit suid (man chmod).
Następnie odpalasz grę jako zwykły swój user i... gra ma dostęp do /dev/input/event, gdyż uruchomiła się z uprawnieniami usera input :P

Jako ciekawostkę dodam, że każdy jeden user stosuje tą sztuczkę codziennie... uruchamiając X-y :P
kt1117
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 22 cze 2010, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.10
Środowisko graficzne: Unity
Architektura: x86

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: kt1117 »

A, dzięki. Chyba właśnie tak zrobię ;)
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?

Post autor: ethanak »

radziłbym nieco inaczej.
aplikacja jest własnością roota i ma ustawiony bit suid. zapamiętuje użytkownika który ją uruchomił przez getuid, podbija uprawnienia i otwiera /dev/cośtam, a potem robi setuid do zapamiętanego użytkownika.
Кто жопой родился, чижиком не помрёт
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 58 gości