このページで解説している内容は、以下の 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」でユーザーとグループを作成して、下表の設定を行っておく必要があります。

ユーザー名所属グループ
tanakagroup1
yamamotogroup2
watanabegroup3
新Linuxコマンド演習14

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

演習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を使用して削除します。

パーミッションの数値対応表

数値記号意味対応する権限
7rwx読み取り・書き込み・実行すべて可所有者に全権限を与える
6rw-読み取り・書き込み可編集できるが実行不可
4r--読み取りのみ可閲覧専用
0---権限なしアクセス禁止

解説
chmodコマンドでは3桁の数字でアクセス権を設定します(所有者・グループ・その他)。
例:chmod 660 は「所有者=rw」「グループ=rw」「その他=なし」となります。

まとめ

 「新Linuxコマンド演習18」では、ファイルの所有者とグループの関係、chmod・chgrp コマンドの使い方を実践的に学びました。

  • chmod:アクセス権の設定(数字 or 記号方式)
  • chgrp:所有グループの変更
  • cat /etc/passwd:ユーザー確認
  • id:所属グループ確認

 これらを組み合わせて操作することで、システム上のアクセス管理を柔軟に制御できるようになります。