web-dev-qa-db-ja.com

ルートなしのシリアルポートの読み取り/書き込み?

Fedora14のシリアルポートを読み書きするアプリケーションを書いていますが、rootで実行するとうまく動作します。しかし、それを通常のユーザーとして実行すると、デバイス(/ dev/ttySx)にアクセスするために必要な特権を取得できません。 Eclipseを使用していまいましいことを実際にデバッグすることができないので、それは一種のくだらないことです。

SudoでEclipseを実行してみましたが、ワークスペースが破損し、プロジェクトを開くこともできません。ですから、/ dev/ttySxに書き込むためのアクセス要件を下げて、通常のユーザーがアクセスできるようにすることが可能かどうか知りたいのです。これは可能ですか?

34
iegod

シリアルポートにアクセスする権利は、デバイスファイルの権限によって決定されます(例:/dev/ttyS0)。だからあなたがする必要があるのは、あなたがデバイスを所有するように手配するか、(より良い)デバイスを所有するグループに自分を入れるか、(Fedoraがサポートしているなら、私はそうだと思う)デバイスを手配することですコンソールにログインしているユーザーに属しています。

たとえば、私のシステム(Fedoraではない)では、/dev/ttyS0はユーザーrootとグループdialoutが所有しているため、シリアルデバイスにアクセスできるようにするには、自分をdialoutグループに追加します。

usermod -a -G dialout MY_USER_NAME

多くのディストリビューションは、グループメンバーシップを使用してシリアルポートへのアクセスを可能にします。ただし、Fedoraの詳細はわかりません。

0
geekosaur

パスワードなしで実行できるコマンドエイリアスとして一連のコマンドを指定できるようにするsudoersファイルに自分を追加できると思います。 sudoersファイルに関する優れたチュートリアルは buntu docs にあります。

その後、Eclipseを通常どおり実行すると、root権限なしでこれらの特定のコマンドを実行できます。

0
Deepak Mittal