このブログのはてなブックマーク数 このエントリーをはてなブックマークに追加

知らなきゃ絶対損するPCマル秘ワザ

知らなきゃ損するPC情報を分かりやすくメモする個人ブログ。
『月,水,金』の週3回更新!(予定)

このブログ内をキーワードで検索することもできます。
Loading



最新記事
  • ニコニコ動画+Firefoxでプレイヤーが真っ黒になる症状 (03/22)
  • 中世ヨーロッパの文献の雰囲気をもつフリーフォント「eltic」 (03/20)
  • Windows:起動時のロック画面の背景画像を変えてみる (03/15)
  • Sublime Text 3:ミニマップの表示範囲を常に出しておく (03/13)
  • HTML5 プレイヤーでも「Turn off Nicomment」を使う (03/10)
  • 管理人より
    2100万アクセス突破!ありがとうございます。

    パーミッションを管理しよう

    このエントリーをはてなブックマークに追加
    サーバ管理って難しい(6)
    パーミッション イメージ
    素材提供:写真素材 足成


    こんにちは、さち です。

    先日、ブログの総アクセス数が100万を突破しました!
    これもブログを見て下さっている皆様のおかげです。
    本当にありがとうございます。

    これからも200万アクセスに向けて頑張っていきます。
    「知らなきゃ絶対損するPCマル秘ワザ」をよろしくお願いします。


    今回は久しぶりにサーバ管理に関する記事です。
    パーミッション属性)は勉強したつもりだったのですが
    最近色々と苦労をしたのでまとめておきます。



    パーミッションって何?

    ウェブサイトの基本「HTML」「CSS」
    画像の「JPEG」「PNG」「GIF」
    音楽の「MP3」「AAC」
    サーバ上で動くプログラム「PHP」「Perl」

    それぞれのファイルには利用目的があります。
    中には、セキュリティ上
    サイトに来た一般の人に見られては困るものもあります。

    この問題を解決するのが「パーミッション」です。
    「パーミッション」とは、簡単に言うと
    サーバ上にあるファイルへのアクセスを制限する機能です。



    管理する人は3種類

    管理する人たちは全部で3種類に分かれています。

    ■ユーザ(User)
    サーバにログインできる人。つまり、サイトの管理人である自分。
    オーナー、所有者 と呼ばれることも。

    ■グループ(Group)
    ユーザと同じサーバを使っている他の人。
    共用サーバの場合、ユーザ(自分)と同じサーバを使う他のユーザ。

    ■その他(Others)
    上の2つ以外の人。つまり、サイトを見に来る一般の人。


    一番気をつけて管理をしないといけないのは
    やはり、「その他(サイトを見に来る人)」ですね。



    アクセス権限の管理は3つのスイッチで

    アクセス権限の管理は3種類に分かれています。
    それぞれの 記号、数値 については後述します。
    (「ディレクトリ」とは、Windows でいう「フォルダ」のこと)

    ■読み込み(read)
    ファイル: 読み込みを許可するかどうか。
    ディレクトリ: 中身の閲覧,検索等を許可するかどうか。
    記号は「r」、数値は「4」。

    ■書き込み(write)
    ファイル: 書き込みを許可するかどうか。
    ディレクトリ: ファイル作成、削除、パーミッション変更等を許可するかどうか。
    記号は「w」、数値は「2」。

    ■実行(execute)
    ファイル: 実行を許可するかどうか。
    ディレクトリ: 中にあるファイルへのアクセスを許可するかどうか。
    記号は「x」、数値は「1」。


    例えば、HTML,画像等の公開するファイルは「読み込み」を許可
    データの書き換えが必要なファイルは「書き込み」を許可
    PHP, Perl等のファイルは「実行」を許可しておく必要があります。

    ディレクトリのパーミッションは
    その中にあるファイルにも影響を与えます。

    例えば、画像(読み込み:許可)が
    ディレクトリ(実行:不許可)に入っているとします。
    この場合、ディレクトリ内のファイルにアクセスできないため
    画像を読み込むことはできません。



    実際の管理

    「管理する人(3種類)」と「アクセス権限(3種類)」を紹介しました。
    実際にどのように表すのかを見てみましょう。
    前項の説明で各アクセス権限には記号と数値がありましたよね。
    それを使って表していきます。

    例えば、次のような場合どうなるのか見ていきましょう。
    ユーザグループその他
    [r]読み込み(4)
    [w]書き込み(2)××
    [x]実行(1)
    記号rwxr-xr-x
    属性値755

    記号は「rwxr-xr-x」となります。
    単に「ユーザ」「グループ」「その他」を順に並べただけ。

    属性値は「755」となります。
    これは各アクセス権限の数値を足し算したもの。
    例えば、「ユーザ」は「4+2+1」で「7」
    「グループ」「その他」は「4+1」で「5」というわけです。

    ■余談 - パーミッションの数値と二進法の関係

    各アクセス権限の数値を合計した属性値は必ず1通りしかありません。
    例えば、「5」になるのは「4+1」しかありません(他の数の合計では作れない)。
    これは、各アクセス権限の数値(7,4,1)が二進法をもとにしているからです。

    ちなみに、「5」を二進法で書くと「101」となり
    左から順に、読み込み,書き込み,実行 として、1=オン,0=オフ と見れば
    書き込み,実行 の2つがオンだと分かります。
    (二進法の仕組みはこちらのサイトが分かりやすいです)




    よく使われるパーミッションの設定

    755
    ディレクトリに使われます。
    共用サーバではグループの全権限を禁止した「705」推奨。
    ユーザグループその他
    [r]読み込み(4)
    [w]書き込み(2)××
    [x]実行(1)
    記号rwxr-xr-x
    属性値755

    644
    HTML,画像,CSS, JavaScript 等の静的ファイルに使われます。
    共用サーバではグループの全権限を禁止した「604」推奨。
    ユーザグループその他
    [r]読み込み(4)
    [w]書き込み(2)××
    [x]実行(1)×××
    記号rw-r--r--
    属性値644

    606
    書き換えが必要なデータファイルに使われます。
    書き換えがユーザとして実行される環境なら「600」推奨。
    ユーザグループその他
    [r]読み込み(4)×
    [w]書き込み(2)×
    [x]実行(1)×××
    記号rw----rw-
    属性値606

    705
    PHP, Perl 等のサーバプログラムに使われます。
    プログラムがユーザとして実行される環境なら「700」推奨。
    ユーザグループその他
    [r]読み込み(4)×
    [w]書き込み(2)××
    [x]実行(1)×
    記号rwx---r-x
    属性値705

    600
    直接実行されないライブラリ(PHP, Perl 等)に使われます。
    ユーザグループその他
    [r]読み込み(4)××
    [w]書き込み(2)××
    [x]実行(1)×××
    記号rw-------
    属性値600



    共用サーバを使う場合の注意

    安価なレンタルサーバは
    1台のサーバを複数のユーザで共用しています。

    共用している他のユーザは
    パーミッションでの「グループ」に当たります。
    つまり、共用サーバではセキュリティ強化のため
    「グループ」に一切の権限を与えないのが基本
    です。

    サーバによっては
    PHP がセーフモードで実行されることがあり
    思ったように動かないことがあります。

    PHPファイルのパーミッションを緩めると
    セーフモードでも動きますがこの解決法はダメ!
    CGI動作させる方法を使いましょう。

    PHP をCGI動作させると
    サイト閲覧者がPHPファイルにアクセスしても
    PHP を実行するのは「ユーザ」と見なされるため
    セーフモードになりません。
    この場合、PHPファイルのパーミッションは「700」でOK。

    PHP をCGI動作させる方法については
    各サーバ会社のマニュアルを参照しましょう。


    記事作成にあたり下記サイト様を参考にさせて頂きました。
    ありがとうございました。

       → パーミッションについて - siriasu.net
       → パーミッションとは? - InternetMIE
       → セーフモードの束縛 - hiromasa.zone : o)
       → ノンプログラマーのための WordPress セキュリティ入門 - firegoby

    【2013/09/05】一部改訂、追記しました。


    << 前へ | サーバ管理って難しい(6) | 次へ >>
    サーバ管理って難しいTOPへ










    このエントリーをはてなブックマークに追加




    管理人だけが読めるコメントにする(返信はしません)
    【お知らせ】
    • コメントは承認制です。反映に時間がかかります。
    • Yahoo!BBはスパムコメントが多いため一部規制中です。
    • URLを含む投稿はできません。必要な場合は最初のhを削って下さい。
    • 記事に直接関係ない個人のトラブルにはお答えできません。
    • Android は使ったことがないので質問を頂いても答えられません。
    • その他詳細はこちら





    記事別の週間アクセス数ランキングです。こちらの記事もぜひ読んでみて下さい。

    2008-2017 知らなきゃ絶対損するPCマル秘ワザ  無断転載禁止

    ブログパーツ