Raspberry PiでIoTなシステム開発:echoのリダイレクトはsudoで実行してもリダイレクト部分だけsudoを実行したユーザーとして実行される

Posted on Posted in 趣味的なIT・ネットの話題

Raspberry PiのオンボードLEDをコントロールする方法が無いかと検索していたら、こちらの記事を発見。

Can we control the on-board leds

[コラム] Raspberry Pi 2のオンボードLEDを自由に光らせよう

どのキーワードに括弧書きを付けているかをechoで変更するので何かおかしいなと思っていたら、nanoで手動で書き換えても元に戻ります。これは一種のデバイスファイルで、読み取りが状態表示、キーワードの書き込みがデバイスに対する操作を行っているのだと思います。

で、指示通りsuでrootになって作業をしたらちゃんとコントロールできたのですが、sudoで実行したらエラー。

suだとスクリプトから実行しにくいですし、rootになったまま他の作業を実施してしまいそうで怖いんです。で、調べてみるとリダイレクトするとリダイレクト部分だけがsudoの実行元のユーザーが実行されてしまうとのこと。なのでリダイレクトではなくパイプで渡して、渡された先でteeを使ってファイルに書き込むとエラーになりませんでした。

この通り実行してみるとチカッチカッと。

GPIOに連動させる設定にしてサーバーアプリの状態監視に使う予定です。


Facebooktwittergoogle_pluspinterestlinkedinmail
納得したらすぐにシェア!