このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
新Linuxコマンド演習18

新Linuxコマンド演習18 概要
「新Linuxコマンド演習18」では、Linuxの基本的なセキュリティ機能であるパーミッション(アクセス権)とグループ管理について学びます。
前提として「新Linuxコマンド演習14」でユーザーとグループを作成している必要があります。
本演習では、複数のユーザー(tanaka、yamamoto、watanabe)を用いて、
- ファイルの所有者とグループの関係
- chmodによるアクセス権変更
- chgrpによるグループ変更
を実際に操作しながら理解します。
ファイルを共有する際や、他のユーザーにアクセス制限を設けたい場合に重要な知識です。

関連コマンド一覧
| コマンド | 説明 | 主な使用例 |
|---|---|---|
| cat /etc/passwd | 登録されているユーザー情報を確認する。 | システム上の全ユーザーを一覧表示 |
| passwd | 指定ユーザーのパスワードを設定・変更する。 | passwd tanaka |
| chmod | ファイルやディレクトリのアクセス権を変更する。 | chmod 660 test.txt |
| chgrp | ファイルの所有グループを変更する。 | chgrp group2 test.txt |
| id | 現在のユーザーが所属するグループを確認する。 | id yamamoto |
上記コマンドを理解することで、アクセス制御の基礎が明確になります。
特に chmod と chgrp の組み合わせ操作は、実務環境でも頻繁に使用されます。
演習問題+模範解答例
事前準備:ユーザーとグループの作成
ここでの演習を始める前に、「新Linuxコマンド演習14」でユーザーとグループを作成して、下表の設定を行っておく必要があります。
| ユーザー名 | 所属グループ |
|---|---|
| tanaka | group1 |
| yamamoto | group2 |
| watanabe | group3 |
演習01:ユーザーの一覧を確認する
問題
システム上のユーザー一覧を確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
(省略)
suzuki:x:1000:1000:suzuki:/home/suzuki:/bin/bash
(省略)
tanaka:x:1001:1001::/home/tanaka:/bin/bash
yamamoto:x:1002:1002::/home/yamamoto:/bin/bash
watanabe:x:1003:1003::/home/watanabe:/bin/bash解説
/etc/passwd ファイルには、すべてのユーザーの基本情報(ユーザー名、UID、GID、ホームディレクトリなど)が記録されています。
この出力から、「tanaka」「yamamoto」「watanabe」が存在することを確認できます。
演習02:ユーザーにパスワードを設定する
問題
rootユーザーでログインし、「tanaka」「yamamoto」「watanabe」にパスワードを設定してください。
模範解答例
[suzuki@AlmaLinux ~]$ sudo su -
[root@AlmaLinux ~]# passwd tanaka
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@AlmaLinux ~]# passwd yamamoto
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@AlmaLinux ~]# passwd watanabe
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@AlmaLinux ~]# exit
ログアウト解説passwd ユーザー名 コマンドでユーザーのパスワードを設定します。
テスト環境では、共通して「password」などの単純な文字列でも構いません。
警告が出ても続行可能です。
演習03:tanakaでログインしてファイルを作成する
問題
ユーザーtanakaでログインし、/var/tmp ディレクトリ内に「test.txt」ファイルを作成してください。
次に「test.txt」ファイルに 660 のパーミッションを設定してください。
模範解答例
[suzuki@AlmaLinux ~]$ su - tanaka
パスワード:
[tanaka@AlmaLinux ~]$ cd /var/tmp
[tanaka@AlmaLinux tmp]$ date > test.txt
[tanaka@AlmaLinux tmp]$ ls -l test.txt
-rw-r--r--. 1 tanaka tanaka 43 11月 9 23:36 test.txt
[tanaka@AlmaLinux tmp]$ chmod 660 test.txt
[tanaka@AlmaLinux tmp]$ ls -l test.txt
-rw-rw----. 1 tanaka tanaka 43 11月 9 23:36 test.txt
[tanaka@AlmaLinux tmp]$ exit
ログアウト解説
chmod 660 により、他のユーザー(others)からのアクセスを拒否しました。
この状態では、所有者とグループだけが読み書き可能です。
演習04:グループに読み取り権を与える
問題
ファイル「test.txt」の所有グループを「group2」に変更し、yamamoto がそのファイルを読めるようにしてください。
模範解答例
[suzuki@AlmaLinux ~]$ su -
パスワード:
[root@AlmaLinux ~]# chgrp group2 /var/tmp/test.txt
[root@AlmaLinux ~]# exit
ログアウト
[suzuki@AlmaLinux ~]$ su - yamamoto
パスワード:
[yamamoto@AlmaLinux ~]$ id
uid=1002(yamamoto) gid=1002(yamamoto) groups=1002(yamamoto),1005(group2)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[yamamoto@AlmaLinux ~]$ cat /var/tmp/test.txt
2025年 11月 9日 日曜日 23:36:51 JST
[yamamoto@AlmaLinux ~]$ exit
ログアウト解説
chgrp コマンドでファイルの所有グループを変更しました。
yamamoto は group2 に所属しているため、ファイルにアクセスできます。
演習05:watanabeでアクセスを確認する
問題
ユーザーwatanabeでログインし、「test.txt」ファイルにアクセスできるか確認してください。
模範解答例
[suzuki@AlmaLinux ~]$ su - watanabe
パスワード:
[watanabe@AlmaLinux ~]$ id
uid=1003(watanabe) gid=1003(watanabe) groups=1003(watanabe),1006(group3)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[watanabe@AlmaLinux ~]$ cat /var/tmp/test.txt
cat: /var/tmp/test.txt: 許可がありません
[watanabe@AlmaLinux ~]$ exit
ログアウト解説
watanabe は group3 に所属しており、group2 ではないためアクセスできません。
他グループ・他ユーザーからのアクセスを制限できていることを確認できます。
演習終了時の作業
問題
この演習で作成したファイルを削除してください。
模範解答例
[suzuki@AlmaLinux ~]$ sudo rm /var/tmp/test.txt
[sudo] suzuki のパスワード:解説
ファイルの削除にはroot権限が必要です。sudoを使用して削除します。
パーミッションの数値対応表
| 数値 | 記号 | 意味 | 対応する権限 |
|---|---|---|---|
| 7 | rwx | 読み取り・書き込み・実行すべて可 | 所有者に全権限を与える |
| 6 | rw- | 読み取り・書き込み可 | 編集できるが実行不可 |
| 4 | r-- | 読み取りのみ可 | 閲覧専用 |
| 0 | --- | 権限なし | アクセス禁止 |
解説
chmodコマンドでは3桁の数字でアクセス権を設定します(所有者・グループ・その他)。
例:chmod 660 は「所有者=rw」「グループ=rw」「その他=なし」となります。
まとめ
「新Linuxコマンド演習18」では、ファイルの所有者とグループの関係、chmod・chgrp コマンドの使い方を実践的に学びました。
- chmod:アクセス権の設定(数字 or 記号方式)
- chgrp:所有グループの変更
- cat /etc/passwd:ユーザー確認
- id:所属グループ確認
これらを組み合わせて操作することで、システム上のアクセス管理を柔軟に制御できるようになります。
