LoginSignup
0
0

More than 1 year has passed since last update.

[Permission] プログラミング初心者向け 権限について

Last updated at Posted at 2022-05-31

はじめに

chmod 777 ~/hoge/config

プログラミング初心者の方は、参考にしたサイトで上記のようなターミナルのコマンドを見たことがあると思います。
私自身、初めの頃は意味もわからずがむしゃらにコマンドを叩きまくっていました(真似しないように)。
permissionの設定はセキュリティに関わるため初心者の方こそ知っていてほしいと思い、記事にまとめました。
まだまだ私も勉強中なので、至らない部分があるかもしれませんが
プログラミング初心者の方々へのお力添えになれると幸いです。

permission(パーミッション)とは

permissionとは、ファイルやディレクトリに対するアクセス権限のことです。
それぞれ「所有者」「グループ」「その他のユーザ」にパラメータを割り振りが可能となっています。
特殊なパラメータもありますが、パラメータは基本的に「読み込み」「書き込み」「実行」の3つです。
「はじめに」でも記載した通り、permissionはセキュリティのために重要です。
例えば、本番環境にあるWebサイトを誤って編集してしまったということが無いように、責任者以外は本番環境のWebサイトを編集できないようにすることなどができます。
permissionを適切に管理すると事故防止になります。

実際のpermission

permissionはアルファベット、もしくは数字で表されます。
数字は後ほど説明します。まずはアルファベットから見てみましょう。表にまとめるとこんな感じです。

【 ファイルへのアクセス権 】

アクセス権 表記 説明
読み取り(Read) r ファイルの読み込みが可能 ( 内容表示など )
書き込み(Write) w ファイルへの書き込みが可能 ( 編集や上書きコピーなど )
実行(eXecute) x ファイルの実行が可能 ( プログラムやシェルスクリプトの実行 )

【 ディレクトリへのアクセス権限 】

アクセス権 表記 説明
読み取り(Read) r ディレクトリの読み込みが可能 (ディレクトリに登録されているファイル名の表示)
書き込み(Write) w ディレクトリの書き込みが可能 ( 新規ファイル作成、削除、名前変更など)
実行(eXecute) x ディレクトリに登録されいているファイルへのアクセスが可能

※ ファイルへのアクセス権限にreadの許可があっても、ディレクトリのexecute許可がなければファイルにアクセスできません。

実際にこれらをターミナルで確認してみましょう。
ターミナルで適当な位置で以下コマンドを入力してください。

ls -al

次のようになると思います。

drwxr-xr-x  10 onyankopon  staff    320  9  8  2021 directory-name
drwxr-xr-x  11 onyankopon  staff    352  9  8  2021 directory-name
-rwxr--r--  17 onyankopon  staff    544  9  8  2021 file-name
-rwxrwxr-x   3 onyankopon  staff     96  9  8  2021 file-name
-rwxrwxrwx   6 onyankopon  staff    192  9 22  2021 file-name

これはカレントディレクトリ(現在位置)の中身の情報を表しています。
この左側に注目してください。
(一番左の d はディレクトリ - はファイル その他表記あり)
左側のrからxまでがそれぞれ「所有者」「グループ」「その他のユーザ」のアクセス権限になります。

所有者 グループ その他ユーザー
rwx rwx rwx

例えば

rwxr-xr--

これが何を意味するかと言うと
所有者読み込み・書き込み・実行 が許可されている
グループ読み込み・実行 が許可されている
その他読み込み が許可されている
こうなります。

permissionの変更

ここまでざっくりアクセス権限について理解できてきたかなと思います。
ここからは変更について説明していきます。
アクセス権限の変更を行いたい場合は以下コマンドを入力します。

chmod 777 ~/hoge/config

冒頭に出てきたこいつです。このchmodコマンドで変更します。
ではその横の数字は何かと言うと、先ほど説明を後回しにした数字で表したpermissionです。
さらに言うと、permissionのrwxを2進数で表して8進数に変換した数字です。
混乱しそうですが実際は簡単なので表にまとめます。

表記記号 2進数 8進数
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

これだけです。

これをもとに先ほどのコマンドを見てみると

chmod 777 ~/hoge/config

この777rwxrwxrwxを表していることがお分かりいただけるかと思います。
つまりconfigのアクセス権をrwxrwxrwxに変更するコマンドと言うことです。

chmod 640 ~/hoge/config

この場合は、
configのアクセス権限をrw-r-----に変更するコマンドです。
これでpermissionの扱い方が分かっていただけたかと思います。

まとめ

意味もわからずchmod 777を入力すると誰でも触りたい放題のアクセス権限が完成し、そのまま気にもせず放置してしまう可能性も大いにあります。(chmod 777が悪いと言う意味ではありません。)
調べたコマンドを入力する前にそのコマンドの意味を理解しましょう。
また、今回はアクセス権限にフォーカスしたのでその周りの細かいところ(ユーザー等)には触れていません。
最後まで読んでくださった初心者の方々はこれを機に自分でpermissionについて調べてみてください。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0