PMLH質問箱:ファイルを守るために「パーミッション」について教えて!ライフハッカー編集部さま米LHの過去記事「FreeNASでホームサーバを構築するガイド(英語)」を読んで、やってみようと思っていますが、ファイルのパーミッションをどのようにすればいいのか分かりません。この辺のことはチンプンカンプンなのです。お助けください!パーミッションに困った人よりパーミッションに困った人さん同じようなお悩みを抱えている人は、実際にたくさんいると思います。筆者も、長い間ファイルのパーミッションにはかなり悩まされていました。パーミッションはきちんと知っていれば実はとても簡単です。今回は、パーミッションをどのように設定すればいいのか、ファイルを安全に保つためのパーミッションとは何かを、お教えしましょう。注意:一口にファイルのパーミッションと言っても、かなり広範囲に及ぶ内容なので、ここですべてを網羅することはできません。今回は、UNIXのパーミッション(つまりMac、Linux、FreeNASのようなFreeBSDでのパーミッション)について取り上げ、その基本だけをご紹介します。Windowsユーザーの方は、米LHでご紹介したホームグループでパソコン間でファイル共有をするガイド(英語)」を参考になさってください。■なぜファイルのパーミッションが重要なのかファイルを改ざんされないように守るには、Wi-Fiネットワークに良いパスワードを設定すればいいだろう、と思っている人もいるかもしれません。Wi-Fiネットワークのパスワードはとても簡単にハッキングされてしまいます。(米LHの過去記事参照)ハッキングされにくいWi-Fiネットワークだとしても、誰かにファイルを盗まれたり勝手に持ち出されたりしないように、さらに対策をした方がいいでしょう。サーバに機密情報や大事な個人情報(重要な情報が入っているパソコンのバックアップデータなども含む)を保管している場合はなおさらです。家族間でファイルを共有している場合は、家族の誰かが、本人以外のファイルを改ざんしないようにすることも大切です。なんてことは想像もしたくないと思います。ほんの少しファイルのパーミッションに気をつけておくだけで、確実にファイルを安全に保管でき、最悪の事態を回避することができます。■ユーザー:所有者(owner)、所有グループ(group)、その他(public)すべてのUNIXシステム(Mac、Linux、FreeNASを使ったFreeBSD)では、パーミッション(権限)は一般的に同じ方法で設定できます。それぞれのファイルやフォルダには、どういう人がファイルにアクセスできるかによって「所有者」や「所有グループ」が割り当てられます。ファイルの実行権限があるのは所有者のユーザーだけで、基本的にファイルに対してフルアクセスできます(読み書きもできるということです)。所有グループのユーザーには、別の権限が与えられます(多くの場合読み込みだけです)。それ以外のユーザーには、まったく見ることができない場合もあります。これで家族にも簡単に、限られた権限を与えることができます。ファイル所有者のあなたは、ファイルにフルアクセスができ、他の家族には、そのファイルを書き換えたり、削除したりする権限を与えないようにすることができるということです。ファイルを読んだり、書き換えたり、実行したり(フォルダを開いたり、プログラムを実行したり)することができるので、自分にその権限を与えましょう。自分以外の家族には、ファイルを読むだけにしたい場合は、「家族」というフループを作り、そのグループは読むだけの権限にとどめましょう。◎まず最初にユーザーとユーザーグループを作成するファイルにパーミッションを設定するには、まずシステム上でユーザーとユーザーグループを作成しましょう。XやFreeNASでは、普通はOSの設定の「ユーザーとグループ」などで設定します。家族をそれぞれユーザーとして追加し、例えば「家族」というようにグループを作成します。そのグループに必要なユーザーを追加します。あなたの名前が「ドナルド」だとしたら、ドナルドというユーザーアカウントを作成し、恋人の「デイジー」のユーザーアカウントも作成し、同様に一緒に住んでいる甥の「ヒューイ」と「デューイ」と「ルーイ」のアカウントも追加しましょう。すべてのユーザーを家族のグループに追加します。◎ファイルの所有者を変更するパーミッションを変更するには、コマンドを使うのが一番簡単です。(GUIのオプションのものは機能が限定されていたり、分かりにくいこともあります)簡単な例をご紹介しましょう。ハードドライブに映画のフォルダ(ディレクトリ:/mnt/Media)があったとします。このファイルの所有者が誰なのかを確かめるには、以下の2つのコマンドを実行するだけです。-l最初のコマンドは「そのフォルダの場所に移動する」というもので、次のコマンドが「そのフォルダの中身と詳細を一覧表示する」というものです。筆者の場合は以下のようになりました。Shows上記の結果を見ると、それぞれのフォルダの所有者にルート権限があることが分かります。グループは「wheel(通常は管理者のグループ)」が割り当てられています。Movies上記のコマンドは、「Movies」フォルダの所有者を「ドナルド」というユーザーに変更するというものです。「-R」は再帰的にという意味で、「Movies」の中のすべてのフォルダもファイルも所有者を変更するという指示になります。したがって、フォルダのみならずその中のものはすべて、所有者がドナルドに変更されます。-l」のコマンドを実行して確認しましょう。Shows上記のコマンドを使えば、どんなフォルダでもファイルでも所有者を変更することができます。◎ファイルに権限のあるグループを変更するファイルに権限のあるグループを変更するのは、所有者を変更するのと同じようなイメージです。「家族」のグループを、映画のファイルすべてに権限を割り当てるとします。すると、家族はそれぞれのパソコンで映画を見られるようになります。そのためには以下のコマンドを実行しましょう。Movies上記のコマンドは、「Movies」フォルダとその中身を家族のグループに権限を割当て変更するという指示です。このコマンドを使えば、同じように他のフォルダのグループ変更もできます。■パーミッション(権限):読み(Read)、書き(Write)、実行(Execute)ユーザーに関する部分を解決すれば、次は実際のパーミッション(権限)についてです。ファイルやフォルダの権限に関して、考えられるのは以下の3つです。ファイルの所有者にできることファイルのグループにできること他の人にできること再び「映画」フォルダを例にしましょう。映画フォルダの場所に移動して、中のファイルを一覧表示させます。これはそれぞれのフォルダのパーミッションになります。「d」は、こファイルがディレクトリだということを表しています。次の3文字(rwx)は、そのファイルの所有者が何をできるかを表しています。その次の3文字(rwx)は、グループが何ができるかを表しています。最後の3文字(r-x)は、それ以外の人ができることを表しています。それぞれ「r」は読む権限、「w」は書く権限、「x」は実行する権限という意味です。「-(ダッシュ)」は、特定の権限が与えられていないことを表します。したがって、上記の場合は、ドナルドと家族グループはこれらのファイルの読み書き(rwx)をすることができますが、それ以外の人は読むだけ(r-x)です。家族にファイルを書く権限を与えず、それ以外の人にはまったく見ることができないように、権限を変更したい場合は、以下のコマンドを実行します。Moviesこれは、オーナーは何でもできて(rwx)、家族グループは読むのと実行するだけで(r-x)、それ以外の人には何もできない(---)、という風に権限を「drwxr-x---」に変更するものです。この数字は、それぞれ順にユーザー(所有者、グループ、その他)を表しています。数字の算出方法は以下のようになっています。rwx=7所有者にはすべての権限を与えたいので、最初の数字が「7」になります。グループには読むと実行の権限を与えたいので、「4+1」で「5」になります。それ以外の人は何もできないので「0」です。これでファイルの権限「750」の意味が分かったと思います。グループにも読み書き実行の権限を与えて、それ以外の人は何もできないままに再設定するとしたら、今度は以下のコマンドになります。Moviesどんな数字になるかは、どんな権限を与えたいかによって変わります。このコマンドを使えば、ファイルやフォルダの権限を変えることができます。これで自分のフォルダやファイルをより安全に保管し、共有できるようになりますよね。コマンド自体は難しいものではないので、ぜひ使ってみてください。「Airbnb」のホストになることで得られる、お金以外のものSponsored世界的に知名度の高い宿泊予約のマーケットプレイスといえば、「Airbnb(エアビーアンドビー)」。2008年に誕生して以来、世界各国に広がり、現在は世界191カ国、3万4000以上の都市で利用されています。今あらためて、空き部屋などを有効利用する手段や新たなビジネスのかたちとして、「Airbnbのホスト」に注目が集まっています。手書きの創造性とPCの生産性を1つに。