見出し画像

EnvaderでLinuxの基礎を学ぶ[権限管理の基本]

EnvaderでLinuxの基礎を学ぶ。
今回は、Linux基礎コースの「権限管理の基本編」です。

ファイルやディレクトリの権限は下記の一番左表示されている、「r」や「x」の記述部分。

一番左がファイルやディレクトリの権限

「-xrw」「dxrw」「lxrw」のようになる。
頭の「-」、「d」、「l」は、ファイルの種別を表す。

【ファイルの種別】
-ファイル
d ディレクトリ
l シンボリックリンク

rxwが権限を表す。

【権限(mode)の種類】
「r」
read 読み込み権限 ファイルの読み出し、ディレクトリの内容参照
「w」 write 書き込み権限 ファイルやディレクトリに書き込み
「x」 execute 実行権限 ファイルの実行、ディレクトリへの移動

「u」 ユーザー→ファイルの所有者
「g」 グループ→所有者が属するグループ
「o」 その他→グループ以外の全ユーザ
「a」 全て→上記3つ全て。ugoと指定するのと同じ
「+」→指定されたモードを指定されたクラスに追加する
「-」→指定されたモードを指定されたクラスから削除する
「=」 →指定されなかったモードは削除され、指定されたモードだけが付与される

$ chmod u+x fuga.txt
$ ls -l fuga.txt
-rwxrw-r-- 1 prostudy prostudy 8 Jan 17 23:20 fuga.txt  # 所有者に実行権限が付与された

のように組み合わせる。

権限の表記は、1文字目がファイルの種別でそれ意外の部分は、権限を与える対象になる。

1文字目      ファイル種別
2〜4文字目     所有者
5〜7文字目     所有者のグループ
8〜10文字目   全てのユーザー

権限は、数値でも表せる。

4→r
2→w
1→x

すべての権限がある場合はすべての数字を足して7になる。権限の対象に応じて「777」(所有者・所有者のグループ・全てのユーザ)のように表記する。

Envaderでは、権限操作のコマンド、「chmod 」、「chown」を学ぶ。

【chmod】
chmodとは「change mode」の略。このコマンドで、ファイルやディレクトリの権限の変更を行う。

chmod 740 ファイル名

のように変更する。

【chmodのオプション】
-v 処理したファイル全てを表示する
-R 再帰的にディレクトリとその配下のファイル群のモードを変更する

【chown】
chownとは、「change owner」の略。ファイルの所有者または所有グループを変更するときに使用するコマンド。ファイルやディレクトリには所有者や所有グループが存在しており、これも権限を管理するのに重要な設定になる。ただし、基本的にはスーパーユーザー(root)が設定や変更の権限を持っているので、一般ユーザーが行う場合はスーパーユーザーに依頼するか、sudo権限があればsudoで変更を行う。

chown 新しい所有者:新しい所有グループ ファイル名

のように使う。

【chownのオプション】
-c 所有権が変更された場合、その詳細を表示する
-f エラーメッセージを表示しない
-h 指定したファイルがシンボリックリンクの場合、シンボリックリンクのみ所有権を変更システムファイルやディレクトリの所有権を一括で変更する場合に使用
-R 指定したディレクトリとそのディレクトリ以下のファイルやディレクトリの所有権を再帰的に変更する
-v 所有者変更の詳細を表示する -cは変更された場合のみ

権限管理の基本は、考え方はわりとシンプルだけど、コマンドやmode指定、オプションやっぱり覚えることは多いなぁ。

もっと新しい繋がり、信頼とコミュニティを築けますように。