web-dev-qa-db-ja.com

/ dev / ttyS0のアクセス権を永続的に変更するにはどうすればよいですか?

私のシステムはUbuntu 13.04で正常に動作しますが、Windows XPを実行するためにVirtuaBoxをインストールしました。これは、USB-シリアルアダプターによるアラーム設定と対話するアプリケーションを実行するために不可欠です。

VirtualBoxはttyS0をシリアルポートとして使用し、コマンドSudo chmod 666 /dev/ttyS0がターミナルに与えられた場合にのみ通信を効率的に開始できます。

Ubuntuを起動するたびに、ttyS0パーミッションがデフォルト値に戻り、起動するたびにchmodを実行する必要があります。

私の質問は、どうすれば/ dev/ttyS0ファイルのパーミッションを永久に変更できますか?これが良い方法ではない場合、問題を解決する他の方法はありますか?

8
Claudio

システムファイルの権限を変更する必要はありません。シリアルデバイスには、次のデフォルトの権限があります。

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

そのため、ユーザーをdialoutグループに追加するだけです。

Sudo adduser $USER dialout
16
Eric Carvalho

解決策1:ttyS0のグループを確認し、それをユーザーに割り当ててから、再ログインまたはsu-ユーザー

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

解決策2:最初の解決策が気に入らない場合は、/ 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"

もちろん、選択したグループにユーザーを追加する前に、udevを再起動するか再起動します

2
elbarna