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