• # droits root non nécessaires

    Posté par . En réponse au journal Mini-projet (python): un démon système pour gérer des raccourcis clavier. Évalué à 3.

    L'ouverture des périphériques /dev/input/event nécessite (à raison) les droits root, donc le démon tourne aussi en root.

    Euh, ici j'ai (debian 10, mais c'est aussi valide sur la 9):

    $ ls -lh /dev/input/event*
    crw-rw---- 1 root input 13, 64 août 12 16:14 /dev/input/event0
    crw-rw---- 1 root input 13, 65 août 12 16:14 /dev/input/event1
    crw-rw---- 1 root input 13, 74 août 12 16:14 /dev/input/event10
    crw-rw---- 1 root input 13, 75 août 12 16:14 /dev/input/event11
    crw-rw---- 1 root input 13, 76 août 12 16:14 /dev/input/event12
    crw-rw---- 1 root input 13, 77 août 12 16:14 /dev/input/event13
    crw-rw---- 1 root input 13, 78 août 12 16:14 /dev/input/event14
    crw-rw---- 1 root input 13, 66 août 12 16:14 /dev/input/event2
    crw-rw---- 1 root input 13, 67 août 12 16:14 /dev/input/event3
    crw-rw---- 1 root input 13, 68 août 12 16:14 /dev/input/event4
    crw-rw---- 1 root input 13, 69 août 12 16:14 /dev/input/event5
    crw-rw---- 1 root input 13, 70 août 12 16:14 /dev/input/event6
    crw-rw---- 1 root input 13, 71 août 12 16:14 /dev/input/event7
    crw-rw---- 1 root input 13, 72 août 12 16:14 /dev/input/event8
    crw-rw---- 1 root input 13, 73 août 12 16:14 /dev/input/event9
    

    Et du fait qu'au taf j'ai implémenté un toolkit pour framebuffer, je dirais qu'il suffit que l'utilisateur qui lance le soft appartienne au groupe input. Dans mon cas, il faut aussi le groupe video pour /dev/fb0, et malheureusement root parce que sinon pas moyen (ou alors pas trouvé lequel) de passer un TTY en mode graphique (pour virer le curseur entres autres, via ioctl( fd, KDSETMODE, KD_GRAPHICS, j'ai même essayé de chercher avec les capabilities, mais rien trouvé, faudrait que je cherche a nouveau).

    Ceci étant dit, moi, j'ai utilisé libinput, et pas evdev, que je pense lié à Xorg. Peut-être est-ce la raison.