Come posso consentire l'accesso non root a / ttyUSB0?


35

Da quando ho aggiornato da 10.04 a 12.04, non riesco ad accedere al dispositivo collegato in / ttyUSB0 se non ho accesso root. Per essere più specifici, utilizzo un convertitore da porta COM USB a seriale per accedere e configurare le apparecchiature Cisco con un software chiamato Putty. Succede che, da Puttyquando ho eseguito l' aggiornamento a 12.04, vede il dispositivo collegato solo quando lo eseguo come gksudo putty. In caso contrario, dice "impossibile connettersi alla porta / ttyUSB0". Sono riuscito a modificare le autorizzazioni tramite chmod 666, e funziona, ma se disconnetto l'USB e riconnetto, torna solo alla radice. Come posso consentire in modo permanente l'accesso non root? Ho la minima idea che potrebbe essere tramite le regole di udev, ma non ho idea di come farlo.

oss. Produttore e driver "PROLIFIC"

Risposte:


10

È possibile che ciò sia correlato a modemmanager , come dettagliato qui .

Ho rimosso quello ( sudo apt-get remove modemmanager) e risolto il mio problema.

dialoutTuttavia, devi ancora far parte del gruppo.


1
Cosa succede se non riesco a rimuovere modemmanager? Ho un amico che ha un modem 3G e sembra che non riesca a rimuovere modemmanager per questo. Come può accedere a / ttyUSB0 su 12.04 senza root, ma senza rimuovere modemmanager?
Leonardo Montenegro,

Puoi provare fermandolo? sudo stop modemmanagerHa funzionato per me.
Aleks,

Sono passati alcuni anni, ma questo è ancora il caso di Ubuntu 17.10. Ho dovuto fare sudo apt-get purge modemmanagerprima un sudo usermod -a -G dialout $USEReffetto desiderato.
Stéphane,

95

Molto probabilmente il dispositivo è collegato al gruppo di utenti dialout. Aggiungi il tuo utente al gruppo dialout in modo da disporre delle autorizzazioni appropriate sul dispositivo.

sudo usermod -a -G dialout $USER

(Potrebbe essere necessario disconnettersi e riconnettersi per rendere effettivo il nuovo gruppo.)

Non c'è bisogno di pasticciare con autorizzazioni o regole udev.


3
Accedo per votare. La soluzione più pulita
yildirimyigit

1
@ tom-hennen Immagino che dovresti aggiungerlo prima come commento anziché modificarlo direttamente.
MadMike,

2
Questo non funziona per Debian
Mike,

1
Complimenti per l'inclusione "potrebbe essere necessario disconnettersi e riconnettersi".
Rob Stoecklein,

1
In Ubuntu (sono il 18.04), il logout / login non funziona. dobbiamo riavviare dopo aver eseguito usermod.
Sujay Phadke

7
sudo adduser <the user you want to add> dialout
sudo reboot

Menzionato da "Prova ora" ha funzionato per me. Verifica di avere un dialoutgruppo per ttyUSB0:

ls -l /dev/ttyUSB0

nel mio caso l'output è:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0

in Linux Mint 18 Cinnamon Ottengo questo errore quando chiamo 'ls -l / dev / ttyUSB0' ls: impossibile accedere a '/ dev / ttyUSB0': nessun file o directory
simile

2

Questo ha funzionato per me. Premi Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui il comando seguente.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Prova ora.


2

Come riportato da Rinzwind , inizia digitando:

sudo usermod -a -G dialout $USER

Ma questa è solo una parte della soluzione, in quanto è necessario riavviare il sistema:

sudo reboot

6
1) Si prega di non pubblicare commenti come risposte. 2) Non è necessario riavviare; disconnettersi e
riconnettersi

Ho dovuto riavviare per farlo funzionare. Una disconnessione non ha propagato la modifica.
user1182988

2

Ho provato entrambi

sudo usermod -a -G dialout $USER #(worked perfectly)

E sudo chmod 666 /dev/ttyUSB0(ha funzionato ma ha dovuto digitare nuovamente il comando)

Ho anche rimosso il gestore della modalità ma non mi è stato di grande aiuto. Pertanto, il miglior comando che ha funzionato per me è stato

sudo usermod -a -G dialout $USER

0

Su Ubuntu 18.04 ho dovuto aggiungermi al gruppo tty.

Sono stato accennato dall'output del comando minicom:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty

0

Su Ubuntu 18.04:

  1. sudo adduser <user> dialout
  2. Riavvio completo , per qualche motivo il semplice logout / login non è sufficiente ( bug report. ).

-1

Ho avuto questo problema con / dev / ttyS0 in Mint Rosa. È necessario aggiungere l'utente al gruppo dialout, ma nel mio caso l'accesso al dispositivo è stato limitato e ho dovuto espanderlo per dare accesso anche a livello di gruppo.


1
Benvenuti in Ask Ubuntu! Raccomando di modificare questa risposta per espanderla con dettagli specifici su come eseguire questa operazione. (Vedi anche Come posso scrivere una buona risposta? Per consigli generali su quali tipi di risposte sono considerate più preziose su Ask Ubuntu.)
David Foerster

-4

vai alla cartella / etc / e modifica il file di gruppo aggiungi il tuo nome utente in questo modo dialout:x:20:USER

ha funzionato perfettamente per me :)


4
È generalmente considerata una cattiva pratica modificare questi file direttamente poiché alcuni semplici errori possono causare la perdita di accesso.
flickerfly,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.