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

以下のコマンドの演習を行います。
実際にコマンド操作を行いながら、Linuxの操作に慣れていきましょう。
演習01:ディレクトリの「読み取り権」を確認します。
・「directory1」ディレクトリ、そして、そのディレクトリ内に「file1.txt」を作成します。
$ mkdir directory1
$ date > directory1/file1.txt
$ ls -ld directory1
drwxrwxr-x. 2 user01 user01 23 1月 16 01:23 directory1
$ ls -l directory1/file1.txt
-rw-rw-r--. 1 user01 user01 43 1月 16 01:23 directory1/file1.txt
「directory1」のパーミッションが「775」、「file1.txt」のパーミッションは「664」になっています。
・「directory1」のパーミッションを「400」に変更します。
$ chmod 400 direcrory1
ディレクトリの「読み取り権」を確認していきます。
・まず、lsコマンドを確認します。
「directory1」のパーミッションは「400」であり、「読み取り権」があります。
ディレクトリに「読み取り権」が設定されていると、ディレクトリ内のファイル名の一覧を表示することができますが、エラーが表示されます。
$ ls -ld directory1
dr--------. 2 user01 user01 23 1月 16 01:23 directory1
$ ls directory1
ls: directory1/file1.txt にアクセスできません: 許可がありません
file1.txt
・cdコマンドとcatコマンドを確認します。
cdコマンドを使って、ディレクトリ内に移動することもできませんし、catコマンドを使ってディレクトリ内のファイルにアクセスすることもできません。
$ cd directory1
bash: cd: directory1: 許可がありません
$ cat directory1/file1.txt
cat: directory1/file1.txt: 許可がありません
演習02:ディレクトリの「書き込み権」を確認する。
・「directory2」ディレクトリ、そして、そのディレクトリ内に「file2.txt」を作成します。
$ mkdir directory2
$ date > directory2/file2.txt
$ ls -ld directory2
drwxrwxr-x. 2 user01 user01 23 1月 16 23:03 directory2
$ ls -l directory2/file2.txt
-rw-rw-r--. 1 user01 user01 43 1月 16 23:03 directory2/file2.txt
「directory2」のパーミッションが「775」、「file2.txt」のパーミッションは「664」になっています。
・「directory2」のパーミッションを「500」に変更します。
$ chmod 500 direcrory2
ディレクトリの「書き込み権」を確認していきます。
・まず、lsコマンドを確認します。
「directory2」のパーミッションは「500」であり、「書き込み権」がありません。
$ ls -ld directory2
dr-x------. 2 user01 user01 23 1月 16 23:03 directory2
・以下のコマンドを実行して確認します。
【書き込み権がない場合】
ディレクトリに「書き込み権」がないと、新規ファイルを作成することも、ファイルを削除することもできません。
$ date > directory2/data2.txt #新規ファイルを作成します
bash: directory2/data2.txt: 許可がありません #エラーが表示されます
$ rm directory2/file2.txt #ファイルを削除します。
rm: `directory2/file2.txt' を削除できません: 許可がありません #エラーが表示されます
・「directory2」のパーミッションを「700」に変更します。
$ chmod 700 direcrory2
ディレクトリに「書き込み権」が設定されていると、ファイルに書き込みアクセス権があれば、ファイルを変更することができます。また、ディレクトリ内にファイルを作成したり、削除したりできます。
・以下のコマンドを実行して確認します。
【書き込み権がある場合】
$ date > directory2/data2.txt #新規にファイルを作成できます
$ rm directory2/file2.txt #ファイルを削除できます
演習03:ディレクトリの「実行権」を確認する。
・「directory3」ディレクトリ、そして、そのディレクトリ内に「file3.txt」を作成します。
$ mkdir directory3
$ date > directory3/file3.txt
$ ls -ld directory3
drwxrwxr-x. 2 user01 user01 23 1月 17 00:11 directory3
$ ls -l directory3/file3.txt
-rw-rw-r--. 1 user01 user01 43 1月 17 00:11 directory3/file3.txt
「directory3」のパーミッションが「775」、「file3.txt」のパーミッションは「664」になっています。
・「directory3」のパーミッションを「400」に変更します。
$ chmod 400 direcrory3
ディレクトリの「実行権」を確認していきます。
・まず、lsコマンドを確認します。
「directory3」のパーミッションは「400」であり、「実行権」がありません。
$ ls -ld directory3
dr--------. 2 user01 user01 23 1月 17 00:11 directory3
ディレクトリに実行権がない場合は、そのディレクトリに移動することはできません。
・以下のコマンドを実行して確認します。
【実行権がない場合】
$ cd directory3 #ディレクトリに移動します
bash: cd: directory3: 許可がありません #エラーが表示されます
・「directory3」のパーミッションを「500」に変更します。
$ chmod 500 direcrory3
ファイルに実行権が設定されている場合は、ファイルをプログラムとして実行することができます。ディレクトリに実行権が設定されていると、そのディレクトリ内にcdコマンドで移動したり、ファイルへのアクセス権限があれば、ディレクトリ内のファイルにアクセスしたりできます。
・以下のコマンドを実行して確認します。
【実行権がある場合】
$ cd directory3 #ディレクトリへ移動します。
$ pwd #カレントディレクトリを確認します。
/home/user01/directory3
$ ls -l #ディレクトリないのファイルへのアクセス権限があれば、アクセスできます
合計 4
-rw-rw-r--. 1 user01 user01 43 1月 17 00:11 file3.txt
$ cd #ホームディレクトリに戻ります
演習終了時の作業:ファイルとディレクトリの削除
・この演習で作成したファイル、とディレクトリを削除します。
$ su -
パスワード:
最終ログイン: 2024/01/14 (日) 03:08:00 JST日時 pts/0
# rm -r /home/user01/directory1
rm: ディレクトリ `/home/user01/directory1' 配下に入りますか? y
rm: 通常ファイル `/home/user01/directory1/file1.txt' を削除しますか? y
rm: ディレクトリ `/home/user01/directory1' を削除しますか? y
# rm -r /home/user01/directory2
rm: ディレクトリ `/home/user01/directory2' 配下に入りますか? y
rm: 通常ファイル `/home/user01/directory2/file2.txt' を削除しますか? y
rm: ディレクトリ `/home/user01/directory2' を削除しますか? y
# rm -r /home/user01/directory3
rm: ディレクトリ `/home/user01/directory3' 配下に入りますか? y
rm: 通常ファイル `/home/user01/directory3/file3.txt' を削除しますか? y
rm: ディレクトリ `/home/user01/directory3' を削除しますか? y
# exit
ログアウト
[user01@localhost ~]$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos