ja ja ja zh zh ceb ja ja ja ja ja ja ja ja ja fa ja ja zh ja ja de ja ja nl en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en en ja zh en zh ja ja ja ja ja ja ja ja ja ja ja ja zh ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja zh ja zh ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en en en tt sv fa fr fa de zh de es fr sk fr sv ja ja ja ja ja en ja ja ja ja ja ja ja en ja es ja pt ja en ja fr ja it ja tr ja en ja pl ja en ja en ja en ja ja en ja ja ja ja en mk en sv fr de de ko pt en br jbo ja ja ja ja ja ja nl en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja de en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja zh zh ceb ja ja ja ja ja ja ja ja ja fa ja ja ja ja ja ja
例をあげるとデフォルトでインストールされているであろう「rcp」「rlogin」などは通信が暗号化されない危険なリモート操作を許してしまうので、実行権限を剥奪したほうがよい、などだ。
実際のパーミッションをみてみる
適当なディレクトリで下記のようにしてみよう。
$ touch myfile.txt
$ ls -l myfile.txt
-rw-r--r-- 1 ken users 0 12月 22 16:28 myfile.txt
-rw-r--r-- 1 ken users 0 12月 22 16:28 myfile.txt
といったような行が表示されるだろう。
今注目すべきなのは「-rw-r--r--」と「ken users」という部分だ。詳細を説明していくが、そのまえに「r」や「w」といったフラグについて理解しよう。
r:読み込み許可 ファイルを開くときなどに必要な権限である。これがないとファイルが開けない
w:書き込み許可 ファイルを編集変更する場合に必要な権限である。「r」と組み合わせて使用する。所有者には基本的に読み込み、書き込み両方の権限がわりあてられることが多い。
x:このフラグが設定されていると、ファイルに実行権限が与えられ実行可能となる。スクリプトなどの場合実行権限を割り当てることになる。またディレクトリはxフラグを与えないと開くことが出来ない。
d:ディレクトリの場合このフラグが表示される
l:リンクファイルの場合このフラグが表示される。
-:は指定していないというマークである。
s:SUIDかSGIDのフラグ(別途ページでも解説)
t:スティッキービットのフラグ(別途ページでも解説)
ちょっとわかりにくいかもしれないので、「r = read 読み取り可」「w = write 書き込み可」「x = exec 実行可」「d = directory ディレクトリですという表示」というのだけまずは覚えておこう。
さて注目してほしい部分だけを抜きだして、区切りをいれて表記してみた。
①- ②rw- ③r-- ④r-- ⑤ken ⑥users
はじめのごちゃごちゃした部分は、1、3、3、3で分かれるイメージだ。
ここには「ディレクトリか」「リンクファイルか」「通常ファイルか」を判別するためのフラグが表示される。
通常ファイルの場合とくにフラグがたたないので「-」のままとなる。ディレクトリの場合「d」が、リンクファイルの場合「l」がフラグとして表示されるようになっている。
②の「rw-」⑤の「ken」という所有者
2番目のカラムにはそのファイルの所有ユーザの権限が表示される。5番目のカラムである「ken」と対応している。
今回は「rw-」が表示されている。rは「読み込み可」で、wは「書き込み可」だ。基本的にファイルの所有者はデフォルトでそのファイルの読み込みがと書き込みが許可されることがほとんどだ。
③の「r--」と⑥「users」というグループ
3番目のカラムにはアクセス出来るグループに関してのフラグがセットされる。6番目の「users」というグループに対応している。
今回の場合「r--」読み込みのみが可能となっている。「users」というグループに参加しているユーザから読み込みが可能となっている。
④の「r--」とその他のユーザ
④は所有者でもなく、グループにも属さない、その他のユーザのアクセス権限を表している。
今回は「r--」となっている。とりあえずどのユーザも閲覧できるようになっている状態だ。所有者でもなくグループにも属さないユーザつまり「赤の他人」にファイルを閲覧させたくないならば、読み込み権限も剥奪するとよいだろう。
ここの部分に読み書きを許可している場合考えられるのはWebサービスでパブリックに公開してよいファイルなどだ。他人にみられたくないファイルは読み込み権限を剥奪しよう。
「ls -l」の結果の見方も一応
パーミッションを見るときに必ず使うため、「ls -l」全体の解説を一応しておこう。
-rw-r--r-- 1 ken users 0 12月 22 16:28 myfile.txt
となっているが、これに解説をするため仕切りをいれてみる
-rw-r--r-- |1| ken users |0|12月 22 16:28| myfile.txt
1番目のカラムはパーミッション情報
先程解説したパーミッションの基礎情報が表記される。所有者、グループ、その他のユーザに対してのアクセス権限が表記される。
2番目のカラム、リンクされている数、サブディレクトリの数
この数字は今回はファイルであり「1」となっている。この場合ハードリンクの数を示している。ディレクトリの場合ディレクトリ内のサブディレクトリ数となる。
3番目のカラムは所有者やグループ情報
ここには所有者やグループ情報が表記される。パーミッション情報と照し合せながら参照しよう。
4番目はファイルサイズ
今回は何もせず単に「touch」コマンドでファイルを作成したため「0」バイトとなっている。viなどで編集し保存すれば数値が変化するはずだ。
一般的なタイムスタンプとなる。更新日時が表記されるようになっている。
最後のカラムはファイル名となっている。
パーミッションを設定してみる
パーミッションを設定するときは「chmod」コマンドを使用する。一般的にパーミッションを変更する場合数字でパーミッションを指定することが多い
となっている。これは2進数で考えた結果で、「r-- = 100 = 4」「rwx = 111 = 7」 という感じだ。(わからなければ二進数を一度勉強しておこう)
パーミッションを設定するchmodコマンド
パーミッションを設定するには「chmod」コマンドを使用する。
$ chmod 所有者権限数字 グループユーザ権限数字 その他のユーザ権限数字 変更するファイル名
という記述になる。下記が実際のコマンドだ。
$ chmod 644 myfile.txt
今回の指定は「-rw-r--r--」となる。chmodコマンドの詳しい使い方は下記で解説している。
chmodコマンドについてまとめました 【Linuxコマンド集】
また、ファイルの所有者を変更したい時は「chown」コマンドを使用する。詳しくはこちらを参照してほしい。
chownコマンドについてまとめました 【Linuxコマンド集】
文字と記号を指定してパーミッションを変更する方法もある
その他のユーザ権限を指定
全てのユーザ権限を指定
SGID/SUID(別途ページ解説)
スティッキービット (別途ページ解説)
少々直感的ではないので例を上げる。
$ chmod u=rw,g=r,o=r myfile.txt
とすると644を指定した状態と同じになる。
デフォルトのパーミッション設定
デフォルトのパーミッションは「umask」コマンドで指定する。CentOS7では「/etc/profile」で指定されている。
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then   umask 002 else   umask 022 fi
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
と指定されている。ユーザIDが200以上でユーザ名とプライマリーグループ名が同じであるときは002を設定、それ以外は022が設定される。
デフォルトのパーミッションの値はumaskの数値から引き算したものがデフォルトのパーミッションとなる。
標準的に使用していると主に「umask 002」が設定される。なのでファイルの場合666から002を引き算して664がファイルのパーミッションのデフォルトとなる。ディレクトリの場合777から002を引き算して775がデフォルトとなる。
このページではLinuxのパーミッションについてまとめてご紹介した。
Linuxを使う上で避けては通れないものなので、必ず理解して使いこなせるようになっておこう。
このページの続きや関連ページは下記から一覧で確認できます。
Linuxパーミッションカテゴリーに戻る
IT講師に興味はありませんか?
・「今までIT講師をやってきたが、更に多くの講義を行いたい」
・「エンジニアとしてやってきたが講師業に魅力を感じている」
・「講師として活躍するためにベースとなる知識を知りたい」
・「様々な分野や言語の講師にチャレンジしてみたい」
という方はぜひIT講師募集のページをご覧ください。
リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。
システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。
テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。
IT講師募集のページを見る
SNSでもご購読できます。
Twitterでフォローする
Feedlyでフォローする
リカレントテクノロジー
【ITエンジニア養成スクール & IT研修専門企業のリカレントテクノロジーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。
コメントを残す コメントをキャンセル
メールアドレス(公開はされません。) *
次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。
ファイルやディレクトリをコピーするcpコマンドの使い方!【Linuxコマンド集】
ファイルなどを検索する!findコマンドの詳細まとめ【Linuxコマンド集】
grepコマンドの詳細まとめました【Linuxコマンド集】
【初心者向け】3分でわかるLinuxでできることまとめ 10選
【Windows編】フリーテキストエディタ13選!初心者にもおすすめ
lsコマンドの使い方と覚えたい15のオプション【Linuxコマンド集】
ファイル・ディレクトリを削除するrmコマンドについて詳しく!【Linuxコマンド集】
【目的別】初心者におすすめのLinuxディストリビューション7選
【初心者必見】コマンドプロンプトの使い方と覚えておきたい便利な機能
【すぐわかる!】Atomエディタのインストールと日本語化、便利な使い方
【2023年度最新】おすすめの新入社員向けC#研修 9選
【初心者向け】Pythonの特徴8選
【1分で読める】プログラミング講師になる7つのメリット
【PHP入門者向け】 PHPの文字列リテラルについて知ろう
【PHP入門者向け】 文字列の中の変数展開についてまとめました
【ざっくり理解する】 IPv6アドレスとは?
【初心者向け】システムエンジニアとは?その種類と役割は?
【Java & Tomcat】HttpServletResponseインターフェイスについて知ろう
【Java & Tomcat】Webアプリケーションの設定(web.xmlの設定)※サンプルプログラム付き
【Java & Tomcat】Webアプリケーションの設定(マッピング)※サンプルプログラム付き
【Java & Tomcat】コンテンツタイプの設定(setContentType)※サンプルプログラム付き
【Java & Tomcat】サーブレットのライフサイクル ※サンプルプログラム付き
【Java & Tomcat】文字出力用のストリームの取得(getWriter)※サンプルプログラム付き
【Java & Tomcat】リダイレクトの設定(sendRedirect)※サンプルプログラム付き
【Java & Tomcat】サーブレットからフォームデータを取得する(サンプルコード付き)
IT研修サービス(リスキルテクノロジー)
短期IT研修サービス(リスキル)
ビジネス研修(リスキル)
プログラミング講師募集
JavaScript入門
プログラミングスクール
© Copyright 2022 エンジニアの入り口. All rights reserved.
未経験からの育成制度も充実
IT講師に興味はありませんか?
リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます