Raspberry Piの設定はGUIで (2) 実行権の追加

ファイルには3×3の権限が付く

 UNIXのファイル・システムでは、「本人=所有者」、グループ、ルートの3種類の持ち主がいます。それぞれ、属性に、読む、書く、実行の3種類があります。

 ラズパイは通常piユーザでプログラムを作ります。piユーザが作ったプログラム・ソースは本人が読み書きできますが、そのままでは実行はできません。

シェルの例

 テキスト・エディタで次の2行を入力し、a.shという名前で/home/piに保存します。

#!/bin/sh
echo "3pin=SDA,5pin=SCL"

 ターミナルから、./a.sh と実行させてもPermission deniedのエラーになります。

 File Managerを立ち上げます。ファイルa.shを選び、マウスの右ボタンを押しサブメニューを出します。一番下にあるPropertiesを選びます。表示された File Propertiesの画面からPermissionsのタブをクリックします。

  • View content 読む
  • Change content 書く
  • Execute 実行

 Excute(実行権)がついていないので、▼をクリックします。

  • Nobody なし
  • Only owner 所有者
  • Only owner and group 所有者とグループ
  • Anyone すべて

 rootという所有者のレベルがありますが、piユーザではrootの権限を扱えません。

 Only owner、つまりpiユーザに変更します。

 ターミナルから、./a.sh と実行します。実行できました。

コラム 実行権の継続

 たとえば、pythonのプログラムabc.pyに実行権を付けて実行、デバッグします。テキスト・エディタでabc.pyを開いたままプログラムを変更していき、内容が大きく変わったらsave Asでたとえばabc2.pyと保存します。その状態でターミナルからabc2.pyを実行できます。

 リブートすると、abc2.pyには実行権はなくなっています。

 

 

コラム piはどのグループに属している?

 File Managerで/etc/groupファイルをダブルクリックして開きます。