🍑あわもり教室🫧 クラウドの「手前」を、ちゃんとやる。 はじめる
SET 0225分

ユーザーとアクセス権

ファイルを読んだり変更したりできる利用者を、所有者、グループ、アクセス権から確認します。

このレッスンのメニュー

Linuxは複数の人やプログラムが一台を使うことを想定し、「誰が操作しているか」をユーザーで区別します。 複数のユーザーをまとめる仕組みがグループです。

操作しているユーザーを確認する

whoamiは現在のユーザー名を表示します。 idは、そのユーザーが所属するグループも表示します。

whoami
id

Linuxは内部で、ユーザーをユーザーID(UID)、グループをグループID(GID)という数字で識別します。

ファイルの所有者とアクセス権を読む

ファイルには、所有するユーザー、所有するグループ、操作を許す範囲が記録されています。 ls -lで確認できます。

ls -l /etc/hosts
-rw-r----- 1 app operators 842 Aug 21 10:00 app.conf

先頭の-はファイルの種類です。 続く九文字がアクセス権で、三文字ずつ所有者、グループ、その他のユーザーに対応します。

文字許可する操作
r読む
w書き換える
xプログラムとして実行する
-その操作を許可しない

例のrw-r-----では、所有者は読み書き、グループは読み取り、その他のユーザーは操作できません。 ディレクトリのxは、その中にある名前へ到達できることを表します。

rootの権限でコマンドを実行する

rootは、Linuxのほぼすべてを変更できる管理者ユーザーです。 sudoは、指定したコマンドを別のユーザーとして実行するプログラムです。 よく使うsudo コマンドという形では、許可されたユーザーがrootの権限でそのコマンドを実行します。

rootの権限で動くプログラムは、多くのファイルや設定を変更できます。 sudoを使う前に、実行するプログラム、対象のファイル、起きる変更を確認します。

自分のファイルのアクセス権を変える

touch /tmp/awamori-permission.txt
ls -l /tmp/awamori-permission.txt
chmod 640 /tmp/awamori-permission.txt
ls -l /tmp/awamori-permission.txt

chmod 640は、所有者へ読み書き、グループへ読み取りを許可し、その他のユーザーの操作を許可しない設定です。 一回目と二回目のls -lで、先頭のアクセス権がどう変わったかを比べます。

このレッスンは完了

このページで扱った流れを確認したら、次の内容へ進みます。