Jak dobrać się do danych z /dev/input/eventX bez uprawnień administratora?
-
- 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?
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.
Powód: doprecyzowanie tytułu wątku.
- JSokol
- 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
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
-
- 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?
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.
- kabanek
- 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?
raczej się nie da, to nie windows
- 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?
Nie wiem mogę się mylić ale może do tego pomocne będzie narzędzie takie jak Fakeroot?! Sprawdzałeś z tym?
=> PPA Fakeroot <=
=> Szczegóły <==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.
=> PPA Fakeroot <=
Laptop: Toshiba Satellite P75 / Intel i7 / 16GB DDR3 / 1TB SATA3 / Intel HD 4600 <= Debian 7.5 Wheezy MATE amd64.
- ka_o_3991
- 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?
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.
-
- 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?
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ć.
-
- 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?
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)
-
- 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?
Myślę, że takie pojęcia jak sgid i suid będą przydatne.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.
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
Jako ciekawostkę dodam, że każdy jeden user stosuje tą sztuczkę codziennie... uruchamiając X-y
-
- 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?
A, dzięki. Chyba właśnie tak zrobię
- 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?
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.
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.
Кто жопой родился, чижиком не помрёт
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 58 gości