3分SHAREツイートシェアはてブLINEPocketLinuxには、「パーミッション(権限)」というものがあります。これは、ディレクトリやファイルなどを操作する際の「権限」のこと。正確にいえば、Windowsにも権限設定は存在するのですが、意識する場面が少ないので、触ったことがない方も多いと思います。Windowsだと「管理者権限で実行」で対処できることが多いですしね。Linuxではこの「パーミッション」を意識する場面がたくさん出てきますので、必ず押さえておきましょう!この記事では、Linuxのパーミッションを体系的に学べるようなっています。所有者名と所有グループ名パーミッションの確認(ディレクトリ、ファイル)パーミッションの変更(ディレクトリ、ファイル)パーミッションエラーは「実行権限」がないからパーミッション「777」は危険!?まとめ:パーミッションはすべてディレクトリとファイルに設定されている!パーミッション(権限)とはパーミッションとは、ディレクトリやファイルなどを操作するための「権限」のことです。これはセキュリティのためにある機能で、「特定のディレクトリやファイルに対し、ユーザーやグループがどのような操作をおこなえるか」を設定します。Linuxでのパーミッションの種類は、以下の3つになっています。読み取り権限(read)書き込み権限(write)実行権限(execute)そして、これらパーミッションはディレクトリやファイルの「所有者」と「所有グループ」、「その他のユーザー」それぞれに設定されています。「index.html」のその他のユーザーの権限は「読み込み」のように、1つのファイルに対して、これだけのパーミッションが設定されているのです。ややこしいけど、次へ進んでみよう!パーミッションの見方(Linux)パーミッションの意味も、なんとなくは理解できたかと思います。さきほどの「index.html」のパーミッションを、実際に使われるLinuxの表記にしてみますね。develop」こんな英語とハイフンの羅列を見せられても、何がなんだかわからないですよね。「develop」...所有グループ名こうやって区切ると、わかりやすくなるね!ファイルタイプまず、最初の「-」ですが、これは「ファイルタイプ」をあらわしています。「d」...ディレクトリ「l」...リンク「-」...ファイル今回は、ファイルなので「-」になりますね。所有者の権限2つ目の「rwx」は、「所有者の権限」をあらわしています。所有者は、このファイルに対して「すべての権限を持っている」ということになります。所有グループの権限3つ目の「r-x」は、「所有グループの権限」をあらわしています。所有グループは、「書き込み以外の権限を持っている」ということになります。その他のユーザーの権限4つ目の「r--」は、「その他のユーザーの権限」をあらわしています。ここまで理解できていれば、察しがつくと思います。その他のユーザーは、「読み取り権限だけを持っている」ということになりますね。最後の2つは、このファイルの「所有者」と「所有グループ」をあらわしています。これでパーミッションの意味や見方はバッチリだね!パーミッションの確認(ディレクトリ、ファイル)Linuxのすべてのディレクトリやファイルには、パーミッションが必ず設定されています。-l」コマンドを実行することで簡単に確認できます。-l」コマンドの出力結果だったのです。Linuxコマンドについては、こちらの記事に詳しくまとめています。mode)」コマンドを利用します。ファイル名ファイルモードは、数字で指定することが多いので覚えておきましょう!0...「---」1...「--x」2...「-w-」3...「-wx」4...「r--」5...「r-x」6...「rw-」7...「rwx」たとえば、所有者を「rw-」、グループを「r--」、その他ユーザーを「r--」に変更したい場合は、以下のコマンドを実行します。index.htmlもし、すべてのユーザーに「/tmp/test」ディレクトリのフル権限を与えたいなら、以下のコマンドを実行します。/tmp/testただ、上の場合だと「/tmp/test」ディレクトリのみが対象になり、その下にあるディレクトリやファイルは対象外となります。指定したディレクトリ配下のファイルやディレクトリをすべて対象にしたい場合は、「-R」オプションをつけて実行します。/tmp/test「-R」は、「recursive(再帰的)」の略なので、繰り返すってことですね。denied」のようなエラーが発生することがあります。これは、ログインしているユーザーに対象のディレクトリやファイルの実行権限がないことが原因です。そんなときは、コマンドの前に「sudo」をつけてみてください。index.html「sudo」をつけることで、コマンドを管理者権限で実行できます。管理者権限を付与されていないユーザーは「sudo」を使えないので注意!パーミッション「777」は危険!?フル権限に変更する方法を紹介しておいてなんですが、なんでもかんでも「777」のフル権限に設定してしまうと大変危険だったりします。そもそも、Linuxは複数人で利用することを前提としているので、「777」にしてしまうと誰でもファイルを書き変えられることになるのです。書き込み権限をむやみに渡さないことが大切なんです。必要がなければ「755」や「644」に設定し、特定のユーザー以外に書き込み権限を与えないようにしましょう。ちなみに、ローカル環境の場合は自分しか使わないので、「777」に設定してもそこまで大きな問題にはなりません。勉強のためにもパーミッションは必要な権限だけを設定するよう癖づけておいたほうが、実務でも役立ちますよ。「777」にするときは、本当にどうしようもないときだけだね!まとめ:パーミッションはすべてディレクトリとファイルに設定されている!Linuxのパーミッションについて、絶対にはずせない部分をまとめて紹介しました。ここでは「Linuxのすべてのディレクトリとファイルには、パーミッションが設定されている」と覚えておいてもらえれば大丈夫。パーミッションの設定がわからなくなったら、この記事をいつでも見直せるようにだけしておいてください。:Linux未経験からWebエンジニアへ!僕は高卒でアラサー、転職回数も多く、まったくの未経験でWebエンジニアになりました。勉強はしましたし、かんたんな道のりではなかったかもしれません。プログラミングは確実に自分が望む未来へと近づけてくれました。「学歴がない」「転職回数が多い」「アラサー」「未経験」...どれもエンジニアを目指すうえでは、まったく関係ありません。エンジニアになるために必要なものは「やる気」だからです。あなたも人生を大きく変えるつもりで本気でチャレンジしてみてください。プログラミングは、あなたが望む未来へ近づくための武器になるでしょう。【Linuxの基本操作】業務で使うショートカットキーを覚えよう!この記事を書いた人キツネフリーランスエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。詳しいプロフィールはこちら。【Linux環境構築】VagrantとVirtualBoxとは...あなたが「なりたい自分」はどれ?エンジニアプログラミングブロガーフリーランスカテゴリーWebエンジニアDockerGitLinuxMySQLNginxRubyWebエンジニアの仕事道具・ツールエンジニアの働き方・将来性エンジニアの転職・就職プログラミングのスキルアッププログラミングの基本フリーランスブロガーアフィリエイトブログのアクセスアップアフィリエイトブログの始め方アフィリエイトブログの書き方アフィリエイトブログの稼ぎ方キツネエンジニア/ブロガー/ミニマリスト。プログラミング経験なし、学歴なしでエンジニアへ転職し、現在は田舎でフリーランス。なりたい自分を叶えるための本メディアを運営(月間10万PV突破)。reserved.テキストのコピーはできません。