Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495

    /dev/ttyS0 appartiene a root

    Ciao a tutti,

    sto scrivendo un software che accede alla seriale e per fare il testing devo per forza fare su e lanciarlo come root visto che lanciandolo con il mio utente l'apertura della seriale fallisce.

    Sono andato a dare un occhio in /dev/ e ho visto che tutti i file appartengono a root, e quindi il problema e' proprio questo.

    Mi domandavo a questo punto cosa fare: il software e' di fatto un driver, quindi deve potere accedere direttamente alla porta seriale.

    chmoddare /dev/ttySx e' fuori discussione anche perche' non so a priori a che porta seriale sara' attaccata la mia periferica.

    Come faccio ad accedere direttamente a una porta seriale senza essere root e senza modificare i permessi di tutte le ttySx?

  2. #2
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Forse devo impostare l'owner del driver (.lib) a root e allora anche se l'applicazione che usa il .lib non e' root i metodi della libreria vengono eseguiti con privilegi di root ?

  3. #3

    Re: /dev/ttyS0 appartiene a root

    Originariamente inviato da *Ray*
    Sono andato a dare un occhio in /dev/ e ho visto che tutti i file appartengono a root, e quindi il problema e' proprio questo.
    Non proprio, direi.
    Che i device appartengano a root/root (o a root/gruppoapposito) e` la norma sotto *nix, ed e` giusto cosi`. Il problema, piuttosto, e` che l'utente che lancia il programma non dispone dei privilegi per accedere il device.
    La soluzione classica e` aggiungere l'utente all'apposito gruppo (p.es. dialout in debian) o cambiare i permessi.
    Mi domandavo a questo punto cosa fare: il software e' di fatto un driver, quindi deve potere accedere direttamente alla porta seriale.
    driver kernel space o user space?
    chmoddare /dev/ttySx e' fuori discussione anche perche' non so a priori a che porta seriale sara' attaccata la mia periferica.
    Invece direi che e` la soluzione migliore
    O il tuo software ha bisogno dei privilegi di root, e allora c'e` poco da fare, oppure la via e` modificare i permessi del device.
    Come faccio ad accedere direttamente a una porta seriale senza essere root e senza modificare i permessi di tutte le ttySx?
    O scrivi un modulo kernel o non puoi
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  4. #4
    Originariamente inviato da *Ray*
    Forse devo impostare l'owner del driver (.lib) a root e allora anche se l'applicazione che usa il .lib non e' root i metodi della libreria vengono eseguiti con privilegi di root ?
    No, non funziona cosi`.
    La libreria puo` avere qualunque permesso, owner etc. etc., quel che decide sono le caratteristiche del binario ad essa collegato. Es: binario suid root, o lanciato da root...

    Comunque ribadisco che secondo me e` una cattiva strada.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  5. #5
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Ci penso 2 secondi prima di scrivere cavolate va' :]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.