黒ブタBLOG

Linuxコマンド 「パーミッション」と「権限」の変更

ワードプレスの設置や引っ越し作業をした時に、やっと引っ越しできたと安心していたところ、
追加のプラグインや画像などを入れようとするとエラー「ディレクトリの作成に失敗」したり、sshエラーで困ってしまう。
原因は色々あると思うけど、僕の場合の原因はパーミッションと権限(所有者)の設定にあった。

そんなわけで、今回はLinuxコマンド(ターミナル)を使って直ていく。
コマンド(ターミナル)というと、そう、あの難しそうな真っ黒い画面でございます。
ずっと苦手意識があり、覚えてこなかった自分自身を恨んでいます。

コマンドを使ってサーバーに繋ぐところまでは前回の記事にて書きましたので省略。

今回はサーバーにつながっている↓からスタート

[○○○@×××]#

変更したいファイル(ディレクトリ)までパスを繋いだ後、さて、まずは現在の設定の確認。

[○○○@×××]# ls -la

と記述してEnterを押すと

drwxr-xr-x  8 root   root   4096 Jun  9 01:55 .
drwxr-xr-x  5 root   root   4096 Jun  8 18:10 ..
drwxr-xr-x  2 root   root   4096 Jun  8 19:51 707
-rw-r--r--  1 root   root     28 Jan  9  2012 index.php
drwxr-xr-x  4 apache apache 4096 May  7 13:26 languages
drwx---rwx 32 apache apache 4096 Jun  9 09:54 plugins
drwx---rwx  6 apache apache 4096 Jun  8 20:04 themes
drwxr-xr-x  2 apache apache 4096 Jun  9 09:54 upgrade
drwx---rwx  7 apache apache 4096 Jun  9 09:27 uploads

このように出てくる。

ワードプレスを扱っている方ならピンと来るかもしれないが、一番右がファイルの名前です。
ここでいじりたいのはパーミッションです。
どれかと言いますと、一番左の部分。

drwx—rwx や drwxr-xr-x ですね。

最初の1文字目はファイル種別です。
[d]はディレクトリ、[-]はファイル [l]はシンボリックリンクです。
変えたいのはその後に続く9桁のアルファベットと-(ハイフン)です。
これらについては他の方々が詳しく書いているので割愛、検索してみてください。
ここから変更の手順を書いていきます。

パーミッションの変更には

chmod

という記述をします。
実際に使ってみます。
今回はuploadsの権限を変更していく。
ちなみに現在の設定は

drwx---rwx  7 apache apache 4096 Jun  9 09:27 uploads

なので707です。これを全て読み書き実行を可能にする777に変更。

[○○○@×××]# chmod 777 uploads

でEnter。

設定が変更されたか確認してみるので、再び

ls -la

Enter。

drwxr-xr-x  8 root   root   4096 Jun  9 01:55 .
drwxr-xr-x  5 root   root   4096 Jun  8 18:10 ..
drwxr-xr-x  2 root   root   4096 Jun  8 19:51 707
-rw-r--r--  1 root   root     28 Jan  9  2012 index.php
drwxr-xr-x  4 apache apache 4096 May  7 13:26 languages
drwx---rwx 32 apache apache 4096 Jun  9 09:54 plugins
drwx---rwx  6 apache apache 4096 Jun  8 20:04 themes
drwxr-xr-x  2 apache apache 4096 Jun  9 09:54 upgrade
drwxrwxrwx  7 apache apache 4096 Jun  9 09:27 uploads

はい、上手くいきました。
ついでなんでサラッと所有権限の変更手順。
使うコマンドは「chown」です。
さっきと同様にuploadsディレクトリの所有者を変更する。
現在の設定は

[○○○@×××]# chown apache:apache uploads

です。

所有者をrootに変更

[○○○@×××]# chown root:root uploads

これでEnter

「ls -la」で結果を見てみる

drwxr-xr-x  8 root   root   4096 Jun  9 01:55 .
drwxr-xr-x  5 root   root   4096 Jun  8 18:10 ..
drwxr-xr-x  2 root   root   4096 Jun  8 19:51 707
-rw-r--r--  1 root   root     28 Jan  9  2012 index.php
drwxr-xr-x  4 apache apache 4096 May  7 13:26 languages
drwx---rwx 32 apache apache 4096 Jun  9 09:54 plugins
drwx---rwx  6 apache apache 4096 Jun  8 20:04 themes
drwxr-xr-x  2 apache apache 4096 Jun  9 09:54 upgrade
drwxrwxrwx  7 root   root   4096 Jun  9 09:27 uploads

に変わりました。

なおディレクトリ以下全てにという指定をする場合は
-R
を使います。
使用方法は

[○○○@×××]# chmod -R 777 uploads

以上です。