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ファイルをダブルクリックして開きます。