このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンド演習18

以下のコマンドの演習を行います。

実際にコマンド操作を行いながら、Linuxの操作に慣れていきましょう。

演習01:ユーザーの一覧を確認します。

・ユーザーの一覧を確認します。

 ユーザーの一覧を確認するには、「/etc/passwd」を確認します。「/etc/passwd」ファイルにはユーザー名やユーザーID、グループIDなどが保存されています。

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
(略)
user01:x:1000:1000:user01:/home/user01:/bin/bash
vboxadd:x:987:1::/var/run/vboxadd:/bin/false
taro:x:1001:1001::/home/taro:/bin/bash
jiro:x:1002:1002::/home/jiro:/bin/bash
hanako:x:1003:1003::/home/hanako:/bin/bash

最後の3行に注目します。

ユーザーに「taro」「jiro」「hanako」があることが確認できます。

演習02:パスワードを設定します。

・rootユーザーでログインして、「taro」「jiro」「hanako」にパスワードを設定します。

 パスワードを設定します。警告が表示されますが、パスワードにはすべて「password」を設定します。ユーザーのパスワードを設定するには、「passwd ユーザ名」コマンドで設定します。

[user01@localhost ~]$ su -
パスワード:
最終ログイン: 2024/01/17 (水) 02:24:52 JST日時 pts/0
[root@localhost ~]# passwd taro
ユーザー taro のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]# passwd jiro
ユーザー jiro のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]# passwd hanako
ユーザー hanako のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
演習03:taroでログインしてファイルを作成します。

・taroでログインして’/var/tmp’ ディレクトリ内にファイルを作成します。

# exit #rootユーザーからログアウトします
ログアウト
$ su taro #taroとしてログインします。
パスワード:
$ cd /var/tmp #ディレクトリに移動します
$ date > test.txt
$ ls -l test.txt
-rw-rw-r--. 1 taro taro 43  1月 18 01:56 test.txt

「test.txt」のパーミッションが「664」です。

・「test.txt」のパーミッションを「660」に変更します。

$ chmod 660 test.txt 
$ ls -l test.txt 
-rw-rw----. 1 taro taro 43  1月 18 01:56 test.txt

「test.txt」のパーミッションが「660」に変更されました。

所有者 ・・・ 読み込み権、書き込み権
グループ ・・・ 読み込み権、書き込み権
その他のユーザー ・・・ アクセス権なし

これは、その他のユーザーには、このファイルへのアクセス権限がないことを意味します。

演習04:グループへ「読み込み権」を与える。

・jiroでログインして、「test.txt」ファイルへアクセスします。

$ su jiro
パスワード:
$ cat test.txt
cat: test.txt: 許可がありません
$ ls -l test.txt
-rw-rw----. 1 taro taro 43  1月 18 01:56 test.txt

「test.txt」は「taro」というグループに「読み込み権」と「書き込み権」が与えられています。

・rootユーザーに切り替えて「test.txt」ファイルの所有グループを「group2」に変更します。

$ su
パスワード:
# chgrp group2 test.txt
# ls -l test.txt 
-rw-rw----. 1 taro group2 43  1月 18 01:56 test.txt
#exit

・jiroに切り替えてでログインして、「test.txt」ファイルへアクセスします。

$ su jiro
パスワード:
$ cat test.txt
2024年  1月 18日 木曜日 01:56:40 JST
$ id
uid=1002(jiro) gid=1002(jiro) groups=1002(jiro),1005(group2)
 context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

「test.txt」ファイルの内容が表示されます。

 id コマンドの出力から、jiroは、group2に所属しています。「test.txt」ファイルの所有グループを「group2」に変更したため、アクセスできるようになりました。

演習05:hanakoでログインして「test.txt」にアクセスする。

・hanakoでログインして「test.txt」ファイルへアクセスできるかどうか、確認します。

[jiro@localhost tmp]$ su hanako
パスワード:
[hanako@localhost tmp]$ id
uid=1003(hanako) gid=1003(hanako) groups=1003(hanako),1006(group3) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[hanako@localhost tmp]$ cat test.txt 
cat: test.txt: 許可がありません

hanakoはgroup3に所属しているため、「test.txt」にアクセスできません。

演習終了時の作業:ファイルの削除

・この演習で作成したファイルを削除します。

$ su -
パスワード:
最終ログイン: 2024/01/19 (金) 00:19:56 JST日時 pts/0
# rm /var/tmp/test.txt
rm: 通常ファイル `/var/tmp/test.txt' を削除しますか? y