パーミッション関連でよく使うコマンド 【Linux】

programming Linux

Web サーバーのパーミッション関連でよく使う Linux コマンドをまとめておきます。
極力シンプルにコマンドの事例を列挙し、ファイル名等を差し替えるだけでそのまま使えるよう意図しています。

環境:レンタルサーバー(ConoHa VPS)、CentOS、Apache、MySQL、PHP

背景

Linux のサーバーをレンタルして、ウェブサイトの運用を開始しました。
Web サーバーを扱うにあたり、ドキュメントルートのファイルなど、パーミッションの確認や設定が常時生じます。
そこで、よく使うコマンドについてまとめておきます。

よく使うコマンド

cat  ~ ユーザ一覧の表示

# cat -d: -f1 /etc/passwd
# cat /etc/passwd

> root に加え、apache, mysql, nginx, などのユーザの定義が確認できます。

ls -al  ~ ディレクトリ内のファイルの権限を表示する

まず、以下のコマンドでドキュメントルートに移動します。(デフォルト設定での例)

# cd /var/www/html

つぎに、以下でファイルの権限を確認します。

# ls -al

> 所有者とグループの部分が root root か、apache apache となっていると思います。
主なフォルダを移動しながら、ls -al を実行し、所有者とパーミッションを確認して、設定が違っているファイルがないか、確認していくパターンが多いと思います。

chown コマンド ~ 所有者・ユーザーの変更

一例として、所有者・ユーザーの変更は、以下で設定できます。ユーザーとファイル名は、適宜、差し替えてください。

# chown apache:apache wp-config.php
# chown apache:apache .htaccess
# chown apache:apache index.php

例えば、ls -al を実行し、wp-config.php、.htaccess の所有者が root root などになっていた場合、root ではない apache は、これらのファイルにアクセスできなくなります。
WordPress で記事の編集等を行うと、Web サーバーとなっている apache は、wp-config.php や .htaccess 等にアクセスし、必要により .htaccess 等の更新をする動きとなります。したがって、apache がこれらのファイルにアクセスできないと、WordPress が正常に動作しないことになります。そこで、上記のように、これらのファイルの所有者を apache にして編集権限を与えておくと、WordPress からのファイルの更新等が可能となります。

chmod コマンド ~ 権限の設定

まず、読み込み read、書き込み write、実行 x の順で、各文字と数値の間に、以下の関係があることを覚えておきます。

-rwxrwxrwx
421421421

3セットある rwx は、左から順に、所有者(u)、グループ(g)、その他ユーザ(o)に対応しています。各セットの rwx に対応した数値の和を取ることで3桁の数値を作り、chmod コマンドでその数値をファイルに設定します。

例1

# chmod 606 .htaccess

・ まず、6 0 6 = 4+2 0 4+2 のように読み取り、所有者、グループ、その他ユーザに対応させます。
・ 所有者(管理者、Apache)に読み込み(r)、書き込み(w)権限を与えます。
・ ユーザに読み込み(r)、書き込み(w)権限を与えます。

例2

# chmod 400 wp-config.php

・ 所有者(管理者、Apache)のみに、読み込み権限( rwx の r )のみを与えます。

まとめ

できるだけシンプルに、パーミッション関連でよく使う Linux コマンドをまとめました。
Webサーバーの設定であれば、この程度で大半を網羅できるのではないかと思います。

他にも、よく使うコマンドなどをまとめています。
もし関心のあるようでしたら、関連リンクも参考にしてみてください。

関連リンク
・ Web サーバーのアクセスログの確認方法 【Linux】
・ トップページのレイアウト崩れが起きたとき【WordPress】

タイトルとURLをコピーしました