Come posso cambiare permanentemente le autorizzazioni per / dev / ttyS0?


8

Il mio sistema è Ubuntu 13.04 e funziona bene, ma ho installato VirtuaBox per eseguire Windows XP, che è essenziale per me per eseguire un'applicazione che dialoga con una configurazione di allarme da un adattatore da USB a seriale.

VirtualBox utilizza ttyS0 come porta seriale e la comunicazione può iniziare in modo efficiente solo se sudo chmod 666 /dev/ttyS0viene dato il comando al terminale.

Ogni volta che avvio Ubuntu, le ttyS0autorizzazioni tornano ai valori predefiniti e devo eseguire chmodogni volta che avvio.

La mia domanda è: come posso cambiare permanentemente l'autorizzazione del file / dev / ttyS0? Se questa non è una buona pratica, ci sono altri modi per risolvere il problema?

Risposte:


16

Non è necessario modificare le autorizzazioni del file di sistema. I dispositivi seriali dispongono delle seguenti autorizzazioni predefinite:

crw-rw---- 1 root dialout ... /dev/ttyS0

Quindi tutto ciò che devi fare è aggiungere l'utente al dialoutgruppo:

sudo adduser $USER dialout

Grazie Eric, la tua soluzione ha funzionato per me dopo il riavvio! Claudio :)
Claudio

non è necessario riavviare, ripetere l'accesso. se non vuoi chiudere la sessione, puoi anche farlo ssh $USER@localhost(se hai openssh-serverinstallato) e usare quel terminale.
rrosa,

2

Soluzione 1: controllare il gruppo di ttyS0 e quindi assegnarlo al proprio utente, quindi accedere nuovamente o su - utente

crw-rw---- 1 root dialout 4, 64 feb 28 18:23 /dev/ttyS0
usermod -aG dialout youruser
su - youruser

Soluzione 2: se non ti piace la prima soluzione modifica /etc/udev/rules.d/50-tty.rules

KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="whateveryouwant"

riavvia udev o riavvia e ovviamente prima di aggiungere il tuo utente al gruppo selezionato

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.