ラズパイで監視カメラ動画をWebサーバーに表示する作業の際にハマったのがファイルやディレクトリの権限。
初心者にはなんじゃ?って感じだった。
◆Webサーバー作ってphpファイルを移動しよう…
WinSCPでファイルをサクッとローカルからコピって、ラズパイ上で動かそうと・・・あれぇ?
エラー
書き込めない!
作成したindex.phpファイルを下記のようにしたいだけ。
/var/www/html/index.php
たったこれだけなのに、、、。
◆原因は権限
原因は、/var/www/htmlの権限が、書き込み可能ではなかった…ってだけ。
◆権限ってどこよ?
↑ WinSCPで見た場合。
右のほうにあるパーミッション(Permission:権限)という箇所
htmlフォルダは、rwxrwxrwxと表示
[所有者=rwx] [グループ=rwx] [そのほか=rwx]
r=read(読み込み)
w=write(書き込み)
x=execute(実行)
-=権限なし
ラズパイ上で調べたい場合は以下
↑ lsコマンドでディレクトリを調べた結果
緑色に塗られているのがディレクトリ(フォルダ)
cameraフォルダの権限は、rwxrwxrwxと、全ての人が全権限ある…ってこと。
まぁ自宅内でほかの人はいじらないからこんなんでもOK。
◆こんな場合はなーんにもできない
[所有者=---] [グループ=---] [そのほか=---]
上記のようなときは、読込、書き込み、実行、全ての権限がない。
こんなケースあるのか?
◆権限を変えよう
sudo chmod 764 /var/www/html
よく見かけるchmodコマンド(権限を変更するコマンド。)
chmod [所有者][グループ][そのほか][実施場所]
この数字は、
r・・・4
w・・・2
x・・・1
ということで、chmod 764 は、
chmod [所有者=r+w+x=7][グループ=r+w=6][そのほか=r=4]の意味。
※所有者は全権限あり、グループは読込・書き込み、そのほかは読込だけ。
◆普通の人は知らないよね
会社でパソコンで何かしら作業をしていても、このあたりって触ることないからね~。
会社のネットワークを管理する側からすれば、みんなが勝手にいじり始めて会社のシステムが動かなくなっちゃった…ってのは困るってことか。
ラズパイいじりって、この辺りのことも勉強になるのね。
というか、これ知らないと動かないし。。。