情報システム管理

情報システム管理
第12回 ファイル共有
水野嘉明
本日の内容
1. Samba
Sambaの仕組と設定について
2. NFS
NFSの仕組と設定について
3. NIS
NISの仕組と設定について
2
1. Samba
1.1 Sambaの機能
1.2 Sambaの仕組み
1.3 Sambaのインストール
1.4 Sambaの設定
1.5 Sambaユーザの作成
1.6 Sambaの起動
3
1. Samba
 Sambaとは
LinuxやUNIXマシンを、Windows
のファイルサーバ/プリントサーバ
とすることができるソフト
UNIXとWindowsが混在する環境
で、手軽に情報共有を行えるよう
になる
4
1.1 Sambaの機能
 Sambaは、いくつかの機能を持つ
ファイルサーバ
これを説明
プリントサーバ
クライアントの認証
ドメインコントローラ
Windows Active Directory
5
1.2 Sambaの仕組み
 Windowsから直接UNIXのファイル
をアクセスすることは出来ない
Windows
クライアント
UNIX サーバ
6
1.2 Sambaの仕組み
 WindowsとUNIXを橋渡しするソフト
が必要
専用
ソフト
Windows
クライアント
UNIX サーバ
★ クライアント毎にソフトが必要
通常、クライアントの方が数が多い
7
1.2 Sambaの仕組み
 Sambaは、クライアントに対して
UNIXを Windowsサーバのように見
せる
Samba
Windows
クライアント
UNIX サーバ
8
1.2 Sambaの仕組み
 Sambaには、ユーザを登録する
サーバ(UNIX)のユーザと Samba
のユーザは、ユーザ名を同じに
Sambaにアクセスしてきたユー
ザは、サーバのファイルにアクセ
スするため
 パスワードは、別に管理する
パスワードの暗号化方式が異なる
9
1.3 Sambaのインストール
 Samba関係のパッケージ
samba
samba サーバ
smbclient
samba のクライアント
samba-common
samba/smbclient の両方から利
用される共通ファイル
10
1.4 Sambaの設定
 Sambaの設定ファイル
/etc/samba/smb.conf
smb.conf は、大きく3つのセクショ
ンと共有毎のセクションに分けられ
る
11
1.4 Sambaの設定
のセクション
 [global]
Sambaの全体的な設定
 [printers]
共有プリンタの設定
 smb.conf
12
1.4 Sambaの設定
[homes]
ユーザ毎のホームディレクトリの
設定
その他
共有フォルダ毎の個別設定
13
1.4 Sambaの設定
セクション
Windows のワークグループ名
 [global]
workgroup = office
Windowsで表示される名前
server string = My Samba Server
14
1.4 Sambaの設定
アクセス制御
hosts allow = 192.168.12. 192.168.13.
192.168.12.xx と 192.168.13.xx
からのみ アクセスが可能
hosts deny = pirate bandit
アクセスを拒否するホストのリスト
15
1.4 Sambaの設定
セキュリティモード
(クライアント毎に認証)
security = user
userの他に、次のモードがある
• share (共有モード) ×
• server (サーバモード) ×
• ADS (Acitive Directory モ-ド)
• domain (ドメインモード)
16
1.4 Sambaの設定
 [homes]
セクション
[homes]
comment = Home Directories
browseable = no
read only = no
17
1.4 Sambaの設定
 設定ファイルのチェック
設定内容を表示し、チェックする
ツールがある
$ testparm
18
1.4 Sambaの設定
testparmの実行結果例
[root@localhost samba]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = HOME
netbios name = MIZUNONOTE
server string = Samba Server Version %v
security = USER
log file = /var/log/samba/log.%m
19
1.5 Sambaユーザの作成
 Sambaユーザを作成し、パスワード
を設定する
$ pdbedit -a -u username
 Samba上のパスワードを変更
$ smbpasswd [username]
rootは、任意のユーザのパスワードを
変更可。一般ユーザは、自分のパスワ
ードのみ変更可。
20
1.6 Sambaの起動
と nmbd の二つのデーモン
サービス制御スクリプトは samba
(smbとnmbの二つのこともある)
 smbd
$ invoke-rc.d samba start
$ update-rc.d samba defaults
21
2. NFS
2.1 NFSの仕組み
2.2 NFSサーバのインストール
2.3 NFSサーバの設定
2.4 NFSクライアントの設定
22
2. NFS
 NFSとは、
ネットワークを介して、リモート・ホ
ストのファイルシステムを利用する
ためのシステム
23
2.1 NFSの仕組み
 NFS
(Network FIle System)
UNIX系OSで、ファイルを共有す
る手段として広く利用されている
(Samba: Windows→UNIX、
NFS : UNIX→UNIX)
サン・マイクロシステムズ社が開発
24
2.1 NFSの仕組み
 Sun
RPCにより実現
RPC (Remote Procedure Call)
別のマシンにある手続きを呼出
し結果をもらう
プログラムは、通信を意識しない
25
2.1 NFSの仕組み
セキュリティは、弱い
インターネット向けのサーバでは利
用を避け、限られた範囲のネットで
使用すること
26
2.1 NFSの仕組み
 サーバのディレクトリを、クライアント
がマウント (ディレクトリ・ツリーに割
り当て)する
/
/
usr
etc
usr
etc
export
hoge.txt
NFSサーバ
import
hoge.txt
NFSマウント
NFSクライアント
27
2.1 NFSの仕組み
サーバが提供(エクスポート)する
ファイルシステムを、クライアントは
自マシンのディレクトリ・ツリーに割
り当てる
クライアントは、自分のディスクと
変わりなくアクセスできる
実際にアクセスされるのは、NFS
サーバのディスク
28
2.2 NFSサーバのインストール
に必要なパッケージ
通常は、標準でインストール済み
Debian系
nfs-kernel-server
RedHat系
nfs-utils
 nfs
29
2.3 NFSサーバの設定
 NFSを利用するには、サーバ側とク
ライアント側の両方に設定が必要
サーバ
クライアント
マウント
/etc/exports
/etc/fstab
30
2.3 NFSサーバの設定

/etc/exports ファイルに、NFSで共有
するディレクトリの情報を記述する
① クライアントに公開するディレクトリ
② ディレクトリへの接続を許可するク
ライアントのリスト
③ クライアントがマウントする時のオ
プション
31
2.3 NFSサーバの設定
 クライアントホストをIPアドレスで指定
/export/home 192.168.1.0/24(rw,sync)
①
②
③
① /export/home を公開
② 192.168.1.1~192.168.1.254
が接続可能
③ オプション(読書き可、即時書き
込み)
32
2.3 NFSサーバの設定
 クライアントホストをホスト名で指定
/export/home *.foo.co.jp(ro)
①
②
③
② ホスト名を指定。ワイルドカード
が使用可
33
2.4 NFSクライアントの設定
 起動時に、NFSサーバの公開ディレ
クトリを自動的にマウントする
/etc/fstab に記述
mount コマンドにより、手動でマウ
ントすることも可能
34
2.4 NFSクライアントの設定
 自ディスクのマウントと、書き方はほ
とんど同じ
foo:/export/home /home1 nfs bg 0 0
①
②
③ ④
① サーバのホスト名とディレクトリ名
② クライアント側のマウントポイント
③ ファイルシステムの種類 = NFS
④ マウントオプション、その他
35
3. NIS
3.1 NFSとNIS
3.2 NISの機能
3.3 NISの仕組み
3.4 NISのインストール
3.5 NISサーバの設定
3.6 NISクライアントの設定
36
3. NIS
 NIS
(Network Information Service)
複数のUNIXコンピュータ間でユー
ザ情報を共有するシステム
アカウント情報
ホスト名情報
ネットワーク関連の情報、その他
ディレクトリサービス の一種
37
3.1 NFSとNIS
 NFSとNISは、組み合わせて使うこと
も多い
どちらも、サン・マイクロシステム
ズが開発
RPC機能を利用
アカウントを共有し、ホームディレ
クトリを共有すると、どのマシンでも
同じ環境で作業できる
38
3.1 NFSとNIS
例
NFS/NIS
サーバ
クライアント
どのクライアントでも、
同じ環境で作業できる
39
3.2 NISの機能
 アカウント情報の共有
各マシンでアカウントを管理する
必要がない
パスワードも、一箇所で変えれば
OK
40
3.2 NISの機能
 自動マウント関連
NFSで共有するディレクトリの設定
などを、各マシンで共有
 ホスト名⇔IPアドレス対応の共有
/etc/hosts ファイルを共有
(現在は、DNSがあるので不要)
41
3.3 NISの仕組み
 NIS独自にドメインを定義して、その
単位で管理
 同一ドメイン内に複数のサーバを設
置することも可能
マスタサーバ、スレーブサーバ
 サブネットを越えては動作しない
42
3.3 NISの仕組み
 NISの利点
ほとんどのUnix系OSが対応
導入が簡単
文献が豊富
 欠点
サブネットを越えて動作しない
セキュリティ上の問題がある
43
3.4 NISのインストール
のパッケージ
ypserv - NIS サーバ機能
ypbind - NIS クライアント機能
yp-tools - NIS 関連のコマンド群
 NIS
44
3.5 NISサーバの設定
 NISドメイン
NIS クライアントとサーバは、同じ
NIS ドメインに属していなければな
らない
NISドメインは DNSのドメインとは
関係ない
階層構造も持っていない
45
3.5 NISサーバの設定
次の設定ファイルに、
NISDOMAIN行を追加しておく
/etc/sysconfig/network
NISDOMAIN=MyDomainName
46
3.5 NISサーバの設定
ypdomainname コマンドで、設
定・表示が出来る
$ ypdomainname MyDomain
$ ypdomainname
MyDomain
47
3.5 NISサーバの設定
 NISマップの作成
NISのデータベースを、NISマップ
または YPマップと呼ぶ
ディレクトリ
/var/yp に置かれる
48
3.5 NISサーバの設定
/var/yp のMakefileを、環境に合
わせて適宜変更する
ypinit コマンドにより、NISマップを
作成する
$ /usr/lib/yp/ypinit
-m
49
3.5 NISサーバの設定
 NISマップ(NISデータベース)の更新
 /etc の各種ファイルを編集
(例えば、ユーザを追加、パスワー
ドを変更、NFSの設定を変更など)
 /var/yp ディレクトリにて、make を
実行
50
3.6 NISクライアントの設定
 NISサーバと同様、ドメインを設定
/etc/sysconfig/network
/etc/sysconfig/authconfig
/etc/yp.conf
/etc/nsswitch.conf など
 authconfig ツールを使用するのが簡
単でよい
51
3.6 NISクライアントの設定
authconfig の画面例 (1)
52
3.6 NISクライアントの設定
authconfig の画面例 (2)
53
3.6 NISクライアントの設定
authconfig が終了すると、NIS関
連のサービスが再起動される
54
【付録】 ディレクトリサービス
 ディレクトリサービスとは
複数のホストで、ユーザ情報を共
有する
 代表的ディレクトリサービス
NIS
NIS+
LDAP
Active Directory
55
【付録】 ディレクトリサービス
 NIS+
NISの後継として、サン・マイクロシ
ステムズ社が開発
セキュリティ等が強化されている
あまり普及せず、消滅の方向へ
サンも開発中止(LDAPに移行)
バグが残っている(らしい)
56
【付録】 ディレクトリサービス
 LDAP
(Lightweight Directory Access Protocol)
ディレクトリサービスのためのプロト
コル
実装は OpenLDAP 等 いろいろ
Unix系ホストのNISに変えての運
用が可能
暗号化等、NISの欠点を克服
57
【付録】 ディレクトリサービス
 Active
Directory
マイクロソフト製
Wondows サーバ上で動作
代表的なプロトコルをサポート
名前解決用:DNS
検索用:LDAP
認証用:Kerberos
★独自拡張されているため、
相互運用時には注意が必要
58
お疲れ様でした