このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンド演習18
以下のコマンドの演習を行います。
- Linuxコマンド演習14 :こちらの演習を先に行っておく必要があります。
- chgrp コマンド:所有グループの変更
- パーミッションの設定
- chmod コマンド:パーミッションの変更
実際にコマンド操作を行いながら、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