情報システム管理 #3 ファイルとディスク

情報システム管理
3. ファイルとディスクの管理
水野嘉明
本日の内容
1. ファイルの管理
2. ファイルシステムの作成と管理
2
1. ファイルの管理
1.1 パーミッションの設定
1.2 アクセス権に関するコマンド
1.3 ファイル管理上の注意点
3
1. ファイルの管理
 ファイルに対する操作の権限
個々のファイルやディレクトリに対
して、パーミッション と呼ばれるア
クセス権を設定する
4
1.1 パーミッションの設定
 パーミッションは、ユーザを3グループ
に分け、それぞれ個別に設定する
ファイル(ディレクトリ)の所有者(u)
所有グループに属するユーザ (g)
その他のユーザ (o)
ファイルやディレクトリには、
所有ユーザ/所有グループがある
5
1.1 パーミッションの設定
 アクセス権の種類
ファイルの場合
ディレクトリの場合
r 読み取り
ディレクトリの読み取り
w 書き込み
ファイルの作成や削除
x 実行
ディレクトリへの進入
(参照)
6
1.1 パーミッションの設定
「
ls –l 」による表示
パーミッション
サイズ 更新日付 ファイル名
ユーザ名、グループ名
7
1.1 パーミッションの設定
「
ls –l 」によるパーミッションの表示
[種類][所有者権限][グループ権限][その他の権限]
1
3
3
3
-rwxr-xr-x
8
1.1 パーミッションの設定
種類
d : ディレクトリ
l : シンボリックリンク
- : 通常のファイル
(注) 「種類」は、通常パーミッ
ションには含まない
9
1.1 パーミッションの設定
各権限
[読み][書き][実行] に対する権限
読み r = 読出し可
- = 不可
書き
- = 不可
w = 書込み可
実行 x = 実行可
- = 不可
☆ 他に、特殊な権限を表す s、t 等がある
10
1.1 パーミッションの設定
パーミッションの例
 -rw-rw-r-- (0664)
普通のファイル、所有者とグループは
読み書き可、その他ユーザは読み出
しのみ可
 -rwxr-xr-x
(0755)
所有者は読み書き実行可、グルー
プとその他ユーザは読み出しと実
行のみ可
11
1.1 パーミッションの設定
パーミッションの例
 drwxr-xr-x (0755)
ディレクトリ、所有者は読み書き実行
(進入)可能、グループとその他ユー
ザは読み出しと実行(進入)のみ可
 -rwx------
(0700)
所有者のみが読み書き実行可能
括弧内は、8進数による表現
12
1.2 アクセス権に関するコマンド
 chown
$ chown [options] [user][:group] files..
ファイルの所有者を変更する
実行できるのは、rootのみ
(一般ユーザが所有者を変更でき
ては、セキュリティ上問題がある)
13
1.2 アクセス権に関するコマンド
 chownの使用例
$ chown mizuno hoo.txt
hoo.txtの所有者を mizuno に変更
$ chown :grp1 bar.txt
bar.txtの所有グループを grp1に変更
14
1.2 アクセス権に関するコマンド
主なオプション
-R : 指定ディレクトリ以下のファイル・
ディレクトリの所有者・所有グルー
プを変更する
$ chown -R mizuno:grp1 directory
directory以下のディレクトリ・ファ
イルの所有者を mizuno、グルー
プをgrp1に変更する
15
1.2 アクセス権に関するコマンド
user、group は、IDにより指定して
もよい
$ chown 503:500 hogehoge
hogehogeの所有者を UID=503の
ユーザ、所有グループを GID=500
のグループとする
16
1.2 アクセス権に関するコマンド
 chmod
$ chmod [options] mode files...
アクセス権を変更する
modeの指定方法は、二通り
ugo±rwxst (相対指定)
8進数
(絶対指定)
一般ユーザは、自分の所有する
ファイルのみ変更できる
17
1.2 アクセス権に関するコマンド
 chmod
の使用例
$ chmod +x file
全ユーザに実行許可
(読み書きの権限は変化しない)
$ chmod go-rwx file
グループ・その他ユーザに 読み書き
実行禁止
18
1.2 アクセス権に関するコマンド
$ chmod 644 file
所有者が読み書き可、グループとそ
の他ユーザは読み込みのみ可
(実行権限はクリアされる)
rw-r--r-6 4 4
ディレクトリ/シンボリックリンク/通常
ファイルの別を変更することはできない

19
1.2 アクセス権に関するコマンド
主なオプション
-R : 指定ディレクトリ以下のファイル・
ディレクトリのアクセス権を変更する
$ chmod -R o+rw dir
dir以下のすべてのファイル・ディレク
トリについて、その他ユーザに 読み
書き許可
20
1.3 ファイル管理上の注意点
 注意すべきファイル
(時々チェックしなければならない)
パスワードや秘密鍵などが格納され
たファイルへのアクセス権限
デバイスファイルへのアクセス権限
実行可能で所有者以外が書き込み
可能なファイル
21
1.3 ファイル管理上の注意点
 異常等の監視
ファイルやディレクトリの容量が異
常に大きくないか
 quotaという仕組みにより制限が可能
壊れていないか
 切れてしまったシンボリックリンク
 テキストファイルのはずなのにバイナ
リに見える etc.
22
1.3 ファイル管理上の注意点
 怪しいファイルが隠れていないか
ドットで始まるファイル名は、通常 lsコマ
ンドでは表示されない
 各ユーザの環境設定ファイルによく使
われる
例) .bashrc .vimrc .Trash等
 ホームディレクトリ以外にあれば怪しい
 ..name ...name などというのは怪しい
23
1.3 ファイル管理上の注意点
 各種ファイルの格納場所
それぞれのOSで、暗黙の了解が
ある
例えば、システムの設定ファイル
はここに置き、ユーザが追加した
アプリケーションはここに置き・・・
という決まり
(付録「Unixにおける主なディレクトリ 」参照)
24
2. ファイルシステムの作成と管理
2.1
2.2
2.3
2.4
2.5
2.6
2.7
ファイルシステムの種類
ファイルシステムの作成手順
パーティション
パーティションの作成
ファイルシステムの作成
ファイルシステムのマウント
その他の管理用コマンド
25
2. ファイルシステムの作成と管理
 ファイルシステム
とは
情報のかたまりを、ファイルとして
扱えるようにするための仕組み
OSの主要な機能の一つ
OSごとに異なるファイルシステム
を用いている
26
2. ファイルシステムの作成と管理
 ファイルシステムの役割
ソフトウェアが効率的に情報にア
クセスできるようにする
 ファイル名、ディレクトリ、・・
ファイルに対する権限の管理
 (前節参照)
性能や信頼性を向上させる
 ジャーナリング機能
27
2.1 ファイルシステムの種類
 Windowsでは
FAT、VFAT、FAT32、NTFS
 UNIXでは
Linux ⇒ ext2、ext3
各種BSD ⇒ FFS、FFFS、UFS2
(UFSと総称)
Solaris ⇒ FFS、FFFS、ZFS
 Mac ⇒ HFS、HFS+
28
2.1 ファイルシステムの種類
 相互の読み書きは、いろいろ
Windowsのファイルシステムは、
UNIXからは読み書きできることが
多い
Windowsから Linuxの ext2、3 は
読み書き出来ない
(ツールを用いれば出来る)
29
2.1 ファイルシステムの種類
 メディアによっては、特別なファイルシ
ステムを用いる
 CD-R/DVD: ISO9660やその拡張
30
2.2 ファイルシステムの作成手順
 いわゆる「フォーマット」をおこなう
物理フォーマット
 トラック、セクタを刻む
 通常は、出荷時にフォーマット済み
論理フォーマット
 パーティション分割
 ファイルシステムを作る
31
2.2 ファイルシステムの作成手順
 論理フォーマットの作業内容
不良セクタがあるかどうかの検査
管理用領域の設定
UNIXでは iノード
Windowsでは FAT、MFT
不良セクタの発生に備えて、分
散して配置する
データ領域のブロック化
32
2.3 パーティション
 パーティション
ディスクは、パーティション と呼ば
れる領域に分割して使用する
33
2.3 パーティション
 パーティション分割の例
(1)
Linux、ディスク2台
/boot
/
/usr
/home
/var
/opt
swap
★付録「Unixにおける主なディレクトリ 」参照
34
2.3 パーティション
 パーティション分割の例
(2)
LinuxとWindowsの共存
NTFS: Windows Cドライブ
NTFS: Windows Dドライブ
ext3: Linux /boot
ext3: Linux /
swap: Linux スワップ領域
35
2.3 パーティション
 パーティション分割の考え方
可用性やセキュリティの向上
ディスク使用量の制限
バックアップの単位
チューニング
他OSとの共存
36
2.3 パーティション
 PCのパーティション
初期の IBM PCに由来
基本パーティション (4ヶ以内)
起動可能
論理パーティション
ひとつの基本パーティションを拡
張パーティションとし、その中を
いくつかに分割
37
2.3 パーティション
 UNIX系のパーティション
OSごとに異なる
PC上で動作するLinuxは、PCの
パーティションをほぼそのまま利用
できる
「パーティション」は、OSによって
は「スライス」と呼ばれることもある
38
2.3 パーティション
 LVMによるパーティション管理
従来の方式
ディスク容量が大きさのリミット
一度作成したら変更しにくい
LVM (Logical Volume Manager) に
より論理的なパーティションを作成
⇒ 自由な構成が可能になる
39
2.4 パーティションの作成
 いくつかのコマンドがある
fdisk
基本
cfdisk
fdiskの改良、curses版
parted 最新、IA64サポート、GNU
 Linux以外では、
Solaris: format⇒ fdisk subcommand
Windows: コンピュータの管理⇒
ディスクの管理
40
2.4 パーティションの作成
 fdiskコマンドの使い方
$ fdisk [options] device
device は、ディスクを示すデバイ
スファイルを指定する
ディスクのデバイスファイル指定方
法は、OSごとに異なる
41
2.4 パーティションの作成
 注:
デバイスファイルとは
UNIXでは、すべてのハードウェア
(デバイス)は抽象化され、ファイル
として扱うことができる。これを、
デバイスファイル と呼ぶ。
デバイスファイルは、ディレクトリ
/dev の下にある
例: /dev/sda1
42
2.5 ファイルシステムの作成
 パーティションを作成したら、その中
にファイルシステムを作成する
コマンド (Linux)
newfs コマンド (BSD/Solaris)
を用いる
 mkfs
47
2.5 ファイルシステムの作成
 mkfs
コマンドの使用法
$ mkfs [-t fstype] [options] filesys
fstype: ファイルシステムの種類
ext2、ext3、など
filesys: パーティションを示す
デバイスファイル名
48
2.6 ファイルシステムのマウント
 UNIXのディレクトリ・ツリーは、ルート
(/)というディレクトリを基点とする
多数のディレクトリにより構成される
参考:【root】 木の根
49
2.6 ファイルシステムのマウント
/
ルート
bin
ls
ls
ls
etc
ls
ls
passwd
inet
ls
ls
hosts
usr
dfs
ls
ls
dfstab
ディレクトリ・ツリーの例
・・・
home
usr1
mizuno
lecture
ls
ls
text1
job
50
2.6 ファイルシステムのマウント
 ディレクトリ・ツリーの構成
1つのファイルシステム(パーティ
ション)で構成しても良い
複数のファイルシステムを個別の
ディレクトリにマウント して(割り当
てて)運用することもできる
51
2.6 ファイルシステムのマウント
/
ルート
マウントポイント
マウント
usr
bin
ルートファイルシステム
マウント
bin
lib
etc
src
/usr ファイルシステム
52
2.6 ファイルシステムのマウント
各パーティションは、物理的に異な
るドライブであっても ルートディレク
トリ下にディレクトリとしてマウントさ
れる
⇒ 単一のディレクトリツリーを構成
(UNIXには、Windowsのような「ド
ライブ名」はない)
53
2.6 ファイルシステムのマウント
 マウントとアンマウント
ファイルシステムは、マウントして
初めて利用可能となる
逆に、ファイルシステムを利用でき
ないように、ディレクトリ・ツリーから
切り離す操作をアンマウント という
54
2.6 ファイルシステムのマウント

マウントの方法
① 起動時に自動的にマウント
② 必要なときに手動でマウントする
mount コマンドによる
③ 必要なときに自動でマウントする
(オートマウント)
例: CD-ROM
55
2.6 ファイルシステムのマウント
 /etc/fstab
マウントに必要な情報は、
/etc/fstab というファイルに記述し
てある
①の場合、この記述によりマウント
②の場合も、必要なオプションをこ
のファイルに書いておけば、mount
コマンド実行時に有効となる
56
2.6 ファイルシステムのマウント
 /etc/fstab
例
1カラム目:マウントするファイルシステム
2カラム目:マウントポイント
3カラム目:ファイルシステムのタイプ
以降: ファイルシステム毎のオプション
57
2.6 ファイルシステムのマウント
 mount
コマンド
$ mount [-t type] device dir
device上にあるファイルシステム
(タイプ type)を、ディレクトリdir
にマウントする
58
2.6 ファイルシステムのマウント
$ mount device
device上にあるファイルシステム
を、/etc/fstabの記述に従いマウ
ントする
$ mount -a
/etc/fstabに記述されている全て
のファイルシステムをマウント
59
2.6 ファイルシステムのマウント
 umount
コマンド
$ umount
dir
dirにマウントされているファイル
システムを、アンマウントする
$ umount -a
全てのファイルシステムをアンマ
ウントする
60
2.7 その他の管理用コマンド

fsck
ファイルシステムを検査し、壊れて
いれば修復する
 問題があった時は、修復するか否か
をユーザに聞いてくる
 「yes」と答えれば、自動的に修復
 手作業で修復するならば、「no」
(手作業での修復は、難しい)
61
2.7 その他の管理用コマンド
一般に、マウントされたファイルシ
ステムに対しての fsckは危険
システム終了時にファイルシステ
ムが正常にアンマウントされなかっ
た時は、次の立ち上げ時に自動的
に fsckされる
62
2.7 その他の管理用コマンド
$ fsck [options] [filesys...]
filesys : ファイルシステム
デバイスファイル名かマウントポイント
で指定する
主な オプション
・ -a : 質問なしで自動的に修復する
・ -A : /etc/fstabに記述された全ての
ファイルシステムをチェックする
63
2.7 その他の管理用コマンド
 df
ファイルシステムのディスク容量の
使用状況を表示する
$ df [options] [file...]
主なオプション
・ -k : 1KB単位で表示する
(デフォルトは 512B単位)
64
2.7 その他の管理用コマンド
df 表示例
ファイルシステム
使用済み容量
全体の容量
マウントポイント
空き容量 使用済み比率
65
2.7 その他の管理用コマンド
 du
ディスクの使用量を表示
$ du [options] [files...]
指定ディレクトリ以下のファイル・ディレ
クトリが使用している容量を表示
サブディレクトリ毎の使用容量を表示
 主なオプション
・ -s : 合計のみを表示
・ -a : 全てのファイルについて表示
66
2.7 その他の管理用コマンド
 参考:ディスク容量が逼迫した時の
調べ方
$ du あやしいディレクトリ | sort -rn
ディスク容量の使用量が多い順に
ディレクトリが表示されるので、各
々の内容をチェックする
67
2.7 その他の管理用コマンド
表示例
68
【課題2】

chmod / chown の練習
1. 端末エミュレータ Konsoleを起動
2. 課題1で作成したユーザに su
3. ホームディレクトリに 移動(cd)
4. ファイル exercise2 を作成
 touch コマンドを使用
$ touch exercise2
69
【課題2】
5. アクセス権を次のように変更
 所有者、グループ: rw可
 その他 : 全て不可
6. 所有グループを root に変更
 rootに suして行う
 終了したら exit で戻る
70
【課題2】
7. 「ls -l」 コマンドにて表示した結果
をテキストファイル report2 とする
$ ls -l > report2
$ more report2
(確認)
8. ファイル report2 を提出せよ
 manaba 本科目の「レポート2」
71
次回の予定
1. プロセス
プロセスの種類、プロセスの管理等
2. デーモン
デーモンとは、デーモンの仕組み等
3. シグナル
4. プロセスとジョブ
72
お疲れ様でした