目次
概要
複数のオペレーティングシステム (OS) を同時にお使いの環境では、それらの OS 間で ファイルを共有する要件がしばしば発生します。同じマシンでそれぞれ別々の パーティションに異なるシステムが存在する場合もありますし、ネットワークを介して 異なるシステム同士が接続されている場合もあります。ここでは、それらの異なる システム同士でファイル交換を行なう方法と、間違いやすい点をそれぞれ記述しています。
下記の手順は個人用/家庭用ネットワーク専用の手順です | |
---|---|
下記に示す手順は、ファイアウオールで守られた個人用/家庭用のネットワーク以外 では実施してはなりません。ファイアウオールで保護されていないネットワークや、 企業用のネットワークにおいては、より高度なセキュリティ要件とそれに伴う設定が 必要となりますが、本章では言及していないことをご了承ください。 |
データの交換を行なうためには、下記のいずれかの作業で実現します:
一方のシステムから他方のシステムにデータを転送することでデータの交換を行なう 方法です。結果として、両方のシステムに同じデータが存在するようになります。
データの同期とは、データのコピーを特別な方法で行なうことを指します。一方の コンピュータでファイルを変更すると、同期を行なうことで他方のコンピュータにも 自動で変更が反映されるようになります。たとえばお使いのラップトップに修正済みの ファイルが存在し、その修正をデスクトップ側にも反映させたいような場合に該当します。
クライアント/サーバの関係を設定して、お使いのファイルを共有する方法です。 サーバ側からは、クライアント側からアクセスできる形式でファイルを提供します。 ファイルを変更すると、その変更はサーバ内で実施されるため、クライアント側には データが残らなくなります。一般的にファイルサーバとは、クライアントに対して同時に 多数のファイルを提供する仕組みです。
下記には、ファイル転送を行なう際に考えられるシナリオの一覧を示しています:
多くのユーザがお使いのコンピュータには、製造元がインストールした オペレーティングシステムが存在していて、それとは異なるパーティション上で Linux が動作しているはずです。詳しくは 27.4項 「同一のコンピュータにおける異なる OS 上のファイルへのアクセス」 をお読みください。
任意のメディア (CD, DVD, USB フラッシュメモリ, 外付けハードディスクなど) にデータを保存し、複製先のマシンに接続 (または挿入) してください。この方法は コストがかからず直感的で、かつ直接的な方法です。ただし、両方のコンピュータに 適切なドライブやポートが必要になってしまうほか、両方のマシンのオペレーティング システムで認識可能なファイルシステムを利用しなければなりません。
また、各メディアのサイズまでのファイルしかいっぺんに転送することができません。 恒久的にファイルをコピーするような要件の場合は、ネットワークによる接続を お考えください。
一方のコンピュータにサーバを設定し、サーバとクライアントを接続してファイルを コピーしてください。この作業を行なうためのプロトコルは多くの種類が存在する ため、要件とお使いの方の知識にあったものを選んでお使いください。
クライアント/サーバの設定作業には知識が必要となるほか、管理の手間も発生 してしまいますが、日々の作業でファイルを交換する必要がある場合や、複数の システムで交換する必要がある場合にはよりよい選択肢となります。特に恒久的な ファイル交換をご希望の場合は、クライアント/サーバの設定を選んでください。 この方法では、ファイル交換時のサイズ制限などはありません。 詳しくは 27.2項 「アクセス方法」 をお読みください。
このシナリオの場合は、それぞれのネットワークが接続されている必要がありますが、 接続のための作業は本章の範囲外であるため、記述されていません。コンピュータが ネットワークで接続されていないものとして、ファイルを転送してください。
下記には、ファイル転送やファイル共有を行なうために利用する方法やプロトコルを 示しています:
ファイルの交換を異なるユーザと頻繁に行なうような場合は、 FTP (File Transfer Protocol; ファイル転送プロトコル) を利用するのがお勧めです。 FTP サーバの 一方のシステムに設定し、クライアントからそこにアクセスするだけの作業です。 Windows や MacOS, Linux などの多くの OS 向けにグラフィカルな FTP クライアントソフトウエアが存在しています。どのような FTP サーバを利用するのか にもよりますが、一般に読み書きの権限を設定して使用します。 FTP について、 詳しくは 27.5.4項 「FTP を利用したファイルコピー」 をお読みください。
NFS (Network File System; ネットワークファイルシステム) はクライアント/ サーバ型のシステムです。サーバは 1 つまたはそれ以上のディレクトリをクライアント からインポートできるように公開します。詳しくは 第18章 NFS でのファイル共有 をお読みください。
ファイルの交換を異なるユーザと頻繁に行なうような環境では NFS がお勧めです。 一般に、このプロトコルは Windows よりも Linux でより一般的な方法です。 NFS で公開 (エクスポート) したディレクトリは、お使いの Linux システムに うまく統合することができ、ローカルマシンのフォルダと同じような方法で ディレクトリ構造にアクセスすることができるようになります。ご利用の設定にも よりますが、サーバ上で読み込みまたは書き込み、もしくはその両方を設定して 使用します。通常は個人/一般家庭使用の範囲では読み書きの権限を設定して 使用します。
それほど大規模に変更がかからないような巨大データについて、それらを定期的に 転送したい場合は、 rsync を使用するのがお勧めです。このプロトコルは Linux および Windows に対応し、一般的には rsync をデータのバックアップ管理として 使用します。詳しくは rsync のマニュアルページか、 もしくは 27.5.2項 「rsync を利用したファイル転送」 をお読みください。
Unison は rsync の代替プロトコルで、異なるコンピュータ間で定期的な同期を 行なうためのものですが、 rsync とは異なり双方向で同期を行なうことができます。 詳しくは Unison のマニュアルページか、もしくは 27.5.3項 「Unison を利用したファイル転送」 のマニュアルページをお読みください。 なお、 Unison は Linux および Windows に対応しています。
CSync は Unison の代替手段です。 Unison と同様にディレクトリを双方向に同期 することができます。そのうえモジュール形式で構成されているため、プラグインでの 拡張が可能です。詳しくは http://www.csync.org をお読みください。
Samba はクライアント/サーバ型のシステムで、 SMB プロトコルを実装した ソフトウエアです。 SMB プロトコルは一般に Windows ネットワークで使用される ものですが、複数のオペレーティングシステムに対応しています。 Samba について 詳しくは、 第19章 Samba をお読みください。
ファイル交換を頻繁に行なう環境で、特に Windows システムを利用する複数の ユーザを相手にして共有する必要がある場合に、 Samba がお勧めです。 Samba は Linux だけの環境ではあまり使用されておらず、代わりに NFS を使用します。 Samba サーバの設定について、詳しくは 27.8項 「Samba を利用した Linux と Windows のファイル共有」 をお読みください。
SSH (セキュアシェル; Secure Shell) はコンピュータ間で機密を保持した形で 通信を行なうことができます。 SSH の一式には複数のコマンドが含まれていて、 ユーザを認証するのに公開鍵を使用することができます。詳しくは 第13章 SSH: 機密を保護する通信 (↑セキュリティガイド) をお読みください。
ファイルのコピー頻度が低く、信頼できないネットワークを介して通信を行なう 必要がある場合のほか、これを行なうのが 1 人だけである場合に SSH がお勧めです。 グラフィカルなユーザインターフェイスも利用できますが、 SSH は一般的にコマンド ラインユーティリティを利用するものと考えられています。 Linux や Windows に それぞれ対応しています。
この章では、イーサネットのクロスオーバーケーブルを利用し、 2 台のコンピュータを 接続してファイルを交換するための手順を示しています。
それぞれ下記のものを用意します:
イーサネットのクロスオーバーケーブル。詳しくは http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88%E3%83%BB%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%BB%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB をお読みください。
両方のコンピュータでの openSUSE の起動
ネットワークの接続。
両方のマシンでの SSH デーモンの起動。サービスを起動するには、
root
で rcsshd start のコマンドを実行します。
下記のようにして行ないます:
手順27.1 GNOME
Nautilus を起動します。
+ を選択します。
では を選択します。
相手のコンピュータの IP アドレスと、ポート番号 (既定値は 22) を入力します。
相手のコンピュータ上で、開きたいフォルダを入力します。
を押します。
手順27.2 KDE
Dolphin を起動します。
を選択し、 を押します。 上記が表示されない場合は、 + + を選択してください。
ネットワークフォルダのタイプには
を 選択します。それぞれ IP アドレス、ポート (既定値は 22) 、相手のコンピュータにおけるフォルダ 名をそれぞれ入力します。下の方にあるチェックボックスにチェックを入れることで、 この接続に対するアイコンを作成することもできます。 Dolphin では、
タブに表示されます。ダイアログで
を押すと、パスワードを尋ねられる ので入力を行ないます。上記の手順を行なうことで、相手側のコンピュータにあるフォルダを開くことができます。
新しく購入したコンピュータの場合、一般に何らかのオペレーティングシステム (OS) 、 多くは Windows がインストールされています。 Linux を異なるパーティションに インストールした場合、それらのオペレーティングシステムとファイルを交換する ような要件が発生する場合があります。
Windows の既定では、 Linux のパーティションを読み込むことができません。これらの オペレーティングシステム間でファイルを交換したい場合は、一般に 「交換用のパーティション」 を作成して対応します。より直接的な方法で 解決したい場合は、 Windows 側で ext2 ファイルシステムにアクセスできるドライバを 利用する方法があります。詳しくは http://www.fs-driver.org/ (英語) をお読みください。なお、交換用のパーティションとして Windows と Linux の両方から アクセスできるようにするには、下記のいずれかのファイルシステムを利用します:
この種類のファイルシステムは、 MS-DOS や Windows 95, Windows 98 などで利用 されています。 YaST を利用することで、この種類のファイルシステムを作成する ことができるほか、 Linux から FAT パーティションにアクセスし、読み込みや書き 込みを行なうことができます。 FAT パーティションのサイズ (およびファイル 1 つ あたりの最大サイズ) には制限があり、利用する FAT バージョンによって異なって います。 FAT ファイルシステムについて、詳しくは http://ja.wikipedia.org/wiki/VFAT をお読みください。
NTFS ファイルシステムは Windows で使用されているファイル システムです。 openSUSE には NTFS ファイルシステムに対して書き込み を行なうことのできる機能が用意されています。詳しくは http://en.opensuse.org/SDB:NTFS (英語) をお読みください。
openSUSE のインストール時に Windows パーティションが存在すると、 それらは検出され設定されますので、インストールが終われば Windows パーティションが マウントされます。お使いの Windows 側のデータにアクセスする方法は以下のものが あります:
まずは Alt+F2 を押し、 sysinfo:/
と入力します。新しい
ウインドウが開いて、お使いのマシンに関する各種の情報が表示されます。
には接続されているハードディスクの
パーティション情報が表示されますので、
の欄が ntfs
または
vfat
になっているものを選び、
マウスのボタンを押してください。パーティションがマウントされていない場合は、
KDE がマウントを行なって中身を表示します。
/windows
ディレクトリの一覧を表示することで、お使いの
Windows ドライブに含まれているコンテンツを表示することができます。たとえば
Windows 側での C:\
ドライブが
/windows/c
ディレクトリになるように割り当てられます。
Windows パーティションのアクセス権変更 | |
---|---|
ファイルシステムへのダメージを防ぐため、通常のユーザに対しては読み込みだけを
行なうことができるような形でマウントが行なわれます。 Windows のパーティションに
通常のユーザから書き込みを含む完全なアクセス権を与えるには、これらの Windows
パーティションのマウント方法を変更する必要があります。それぞれ vfat については
mount コマンドのマニュアルページを、 NTFS については
|
Linux では、コンピュータ間でファイルをコピーするためのプロトコルが多く用意されて
います。どのプロトコルを使用すべきかについては、どの程度の労力をかけるのかと
Windows インストールとの互換性が必要かどうかによって決まります。本章では、
Linux コンピュータからファイルをコピーしたり、 Linux コンピュータにファイルを
コピーしたりするための各種の手順を示しています。なお、本章ではネットワークを
利用したコピーを行なうため、あらかじめネットワークの環境設定が完了していることを
想定しています。また、全てのシナリオでは名前解決が動作する必要もあります。お使いの
ネットワークにネームサービスがない場合、 IP アドレスを直接使用するか、もしくは
全てのホストの /etc/hosts
にホスト名と IP アドレスの対応を
記述してください。
下記の例では、それぞれ下記の IP アドレスとホスト名を使用します:
宛先ホスト名 |
|
宛先 IP |
|
コピー元ホスト名 |
|
コピー元 IP |
|
ユーザ |
|
SSH 経由でアクセスする両方のコンピュータは、下記の要件を全て満たして いなければなりません:
ホスト名を使用してアクセスする場合は、それぞれのホスト名が両方の
コンピュータ内の /etc/hosts
ファイルに記載
されていること (詳しくは 13.6.1.6項 「/etc/hosts
」
をお読みください) 。 IP アドレスで SSH アクセスを行なう場合、
上記は特に必要ではありません。
ファイアウオールをお使いの場合は、 SSH のポートを開くこと。これを行なうには、 YaST を起動して
+ を選択します。 その状態から を選択し、 が一覧に載っているかどうかを確認します。一覧に載って いない場合は、 で SSH を選択して、 を押します。あとは と押していき、変更内容を保存して YaST を終了します。
一方のコンピュータから他方のコンピュータにファイルをコピーするには、そのファイル
がどこに存在しているのかを知っておく必要があります。たとえば
jupiter.example.com
というコンピュータにある単一のファイル
/srv/foo_file
をカレントディレクトリにコピーするには、
下記のような scp コマンドを実行します (ドットはコピー先を
指定しているもので、カレントディレクトリを意味します):
scp tux@jupiter.example.com:/srv/foo_file .
ディレクトリ構造全体をコピーしたい場合は、下記のような scp の再帰モードを利用します:
scp -r tux@jupiter.example.com:/srv/foo_directory .
ネットワーク内で名前解決を行なうことができない場合は、サーバの IP アドレスを 直接指定します:
scp tux@192.168.2.100:/srv/foo_file .
どこにファイルが存在するのかがわからない場合は、 sftp コマンドを利用します。 KDE や GNOME で SFTP を利用したファイルのコピーを行なうのはとても簡単です。 下記のようにして行ないます:
Alt+F2 を押します。
コマンドの欄に下記を記入します (お使いの環境に合わせて変更してください):
sftp://tux@jupiter.example.com
サーバが提示する鍵情報について確認が行なわれたあと、
jupiter.example.com
上のユーザ
tux
に対して、パスワードを入力します。
必要なファイルやディレクトリを、お使いのデスクトップなどのローカルディレクトリ からドラッグ&ドロップで配置します。
KDE では sftp
が利用できない場合、 fish
と呼ばれるもう 1 つのプロトコルを利用することができます。このプロトコルは
sftp
とよく似た使い方になっていて、単に
sftp
を fish
に置き換えるだけで
動作するようになっています:
fish://tux@jupiter.example.com
rsync はデータをコピーしたりアーカイブを作成したりするのに便利なソフトウエア であるほか、デーモンとして起動することでネットワーク側にディレクトリを提供する ことができます (詳しくは 手順27.3「rsync 同期に対する高度な設定」) 。
異なるコンピュータ間で rsync を利用したファイルやディレクトリの同期を行なう 前に、下記の要件が満たされていることをご確認ください:
rsync
パッケージがインストール
されていること。
両方のシステムに同じユーザが存在すること。
サーバ側に十分なディスク領域が存在すること。
rsync の能力を完全に引き出したい場合は、サーバ側として利用するシステムに rsyncd がインストールされていること。
rsync を基本モードで利用する場合には、特別な設定は不要です。 rsync では
他のシステムに存在するディレクトリについて、完全な複製を作成します。
scp などの通常のコピーツールと大きく異なるようなこともありません。たとえば
下記のコマンドでは、 jupiter
と呼ばれるバックアップ
サーバ上にあるユーザ tux
のホームディレクトリについて、バックアップを採取します:
rsync -Hbaz -e ssh /home/tux/ tux@jupiter:backup
バックアップから復元を行なう場合は、下記のコマンドを実行します
(-b
オプション無しで実行します):
rsync -Haz -e ssh tux@jupiter:backup /home/tux/
rsync の全ての機能を利用できるようにするため、一方のシステムで rsyncd デーモンを 起動します。このモードでは、アカウント無しでアクセスすることのできる同期ポイント (モジュール) を作成することができます。 rsync デーモンを使用するには、下記のように して行ないます:
手順27.3 rsync 同期に対する高度な設定¶
root
でログインを行ない、
rsync
パッケージをインストールします。
同期ポイントを /etc/rsyncd.conf
ファイルに設定します。
大括弧内に同期ポイントの名前を入力し、 path
キーワード
に続いて実際のパスを入力します。たとえば以下のようになります:
[FTP] path = /srv/ftp comment = An Example
root
の状態から rcrsyncd start コマンドを実行し、
rsyncd デーモンを起動します。システム起動時に自動的に rsync サービスを起動する
ように設定したい場合は、 insserv rsyncd コマンドを実行します。
/srv/ftp
ディレクトリ内にある全てのファイルを一覧表示
するには、下記のように実行します (コロンが二重に付けられていることに注意):
rsync -avz jupiter::FTP
宛先のディレクトリ (この場合はドットを指定していて、カレントディレクトリに コピーする意味です) を指定すると、実際の転送を行なうことができます:
rsync -avz jupiter::FTP .
既定では rsync を利用して同期を行なう限り、ファイルが削除されることはありません。
ファイルの削除を行なうには、 --delete
オプションを指定して
ください。なお、 --delete
オプションで新しいファイルが
削除されないようにしたい場合は、代わりに --update
オプションを
指定してください。これにより発生する矛盾は、それぞれ手作業で解決する必要があります。
異なるコンピュータ間で Unison を利用してファイルやディレクトリの同期を行なう前に、 下記の要件が満たされていることをご確認ください:
unison
パッケージがインストールされていること。
ローカルとリモートのコンピュータに、それぞれ十分なディスク容量があること。
Unison の能力を完全に引き出したい場合は、リモートのコンピュータにも Unison がインストールされていて、かつ起動していること。
ヘルプを必要とする場合は、 Unison に -doc topics
オプション
を付けて起動し、利用可能なオプション一覧を表示させてください。
恒久的に設定を保存する場合、 Unison は同期すべきディレクトリ (ルート) や無視する
ファイルタイプなどのような各種設定を保存するための、 プロファイル
を作成することができます。プロファイルはテキストファイル形式で保存され、
~/.unison
ディレクトリ以下に *.prf
という拡張子で保存します。
Unison の GUI を利用して異なるディレクトリを同期するには、下記のようにして 行ないます:
Alt+F2 を押し、入力するコマンドに unison と入力して Unison を起動します。
Unison を始めた起動した場合、何もオプションを指定しなければ、複製元の ディレクトリを尋ねられます。同期対象の複製もとディレクトリを入力して、
を押します。次に宛先のディレクトリを指定します。これはローカルでもリモートでもかまいません。 リモートのディレクトリと同期を行ないたい場合は、方法 (SSH, RSH, ソケット) を選択し、ホスト名とユーザ名 (任意指定) も入力します。
以前にこれら 2 つのディレクトリについて同期を行なったことがない場合は、 Unison がこれからこれらのディレクトリの比較を行なう旨の警告メッセージが 表示されます。
を押して警告メッセージを閉じると、 Unison は両方のディレクトリの情報収集を行ないます。これが完了するまで 待機すると、メインウインドウに両方のディレクトリの差が表示されるように なります。左側の列には選択した比較元ディレクトリの一覧が表示され、右側には比較 先のディレクトリが表示されます。これらのディレクトリに差異があると、
列に作業提案が表示されます。緑色の矢印は、 比較もとまたは比較先のディレクトリでファイルが更新/追加/削除されたことを 示しています。矢印の向きが同期方向で、同期実行時にどちらからコピーを 行なうのかを指定します。クエスチョンマークは矛盾を示していて、両方の ファイルが更新されていることにより、どちらを最新のものとして扱えば よいのかがわからないことを示しています。それぞれのファイルに対して Unison が表示した提案を変更する (たとえば同期 方向を変更するなど) には、ファイルを選択して
(右から左に) または (左から右に) を 押します。 を押すとファイルを同期対象から外します。 それぞれ の列の表示が選択にあわせて変化します。同期作業を開始するには、
を押します。次回以降に Unison を起動した場合は、既存のプロファイルを示すダイアログ ボックスが表示され、同期すべきディレクトリの対を指定します。 プロファイルの一覧から選択を行なうか、もしくは新しいプロファイルを作成 (ディレクトリの対を新規に追加) し、設定した同期作業を行なうことになります。
Unison はコマンドラインを利用して操作することもできます。ローカルディレクトリと リモートのコンピュータとの間で同期を行なうには、下記のようにして行ないます:
シェルを開き、下記のコマンドを入力します:
unison -ui textディレクトリ
ssh://tux@jupiter.example.com//パス
それぞれディレクトリとパスの項目には必要な値を入力してください。
Unison はファイルやディレクトリに対して何を行なうのかを尋ねてきます。 たとえば:
local jupiter <---- new file dir [f]
Unison の推奨どおりに作業を行なうには、 F を押します。 それ以外のコマンドについては ? を入力してください。
更新内容を適用するには、 y を押します。
FTP サーバを設定する前に、下記の要件が満たされていることを ご確認ください:
vsftpd
パッケージが
インストールされていること。
FTP サーバに対して root
アクセスができること。
お使いのコンピュータに十分なディスク容量があること。
家庭内で使用するネットワーク限定の設定です | |
---|---|
この設定は、家庭内で使用するネットワークに適した設定です。 ファイアウオールで保護されていないネットワークに配置したり、不特定多数の アクセスを許す設定にしたりしてはなりません。 |
FTP サーバを設定するには、下記の手順で行ないます:
FTP サーバを準備します:
シェルを開いて root
でログインし、
/etc/vsftpd.conf
ファイルのバックアップ
コピーを作成します:
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
匿名 FTP 用のアクセスポイントを作成します:
mkdir ~ftp/incoming chown -R ftp:ftp ~ftp/incoming
希望するシナリオに沿って、設定ファイルを書き換えます (詳しい設定オプションについては、 vsftpd.conf の マニュアルページをお読みください):
# listen=YES # FTP サーバに対する匿名アクセスの許可 anonymous_enable=YES # local_enable=YES # 書き込みアクセスの許可 write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES # ログファイルの書き込み xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=ftp ftpd_banner=Welcome to FTP service. anon_root=/srv/ftp
chroot_local_users=YES
FTP サーバを再起動します:
rcvsftp start
クライアント側では、お使いのブラウザや FTP クライアントから
ftp://
と入力します。
ホスト
ホスト
はお使いの環境に合わせて、サーバのホスト名
または IP アドレスに置き換えてください。なお、 FTP サーバのコンテンツに
アクセスするのに便利なグラフィカルユーザインターフェイスも多数存在しています。
YaST パッケージマネージャから "FTP" と入力すると、それらを一覧表示
することができます。
SSH を利用して Linux と Windows の間でファイルを転送するには、下記のいずれか のアプリケーションを利用します:
PuTTY は SSH デーモンと通信を行なうためのコマンドラインツール集です。 http://www.chiark.greenend.org.uk/~sgtatham/putty.html からダウンロードを行なうことができます。
WinSCP は PuTTY にとてもよく似たアプリケーションですが、グラフィカルな ユーザインターフェイスを持つという点が異なります。エクスプローラ型と Norton Commander 型のいずれかを選択することができます。 http://winscp.net からダウンロードを行なうことができます。
PuTTY を利用して Windows から Linux にファイルをコピーするには、下記のように して行ないます (Windows マシン側での作業です):
PSCP を起動します。
SSH サーバのホスト名を入力します。
SSH サーバに対するログインとパスワードを入力します。
WinSCP を利用して Windows から Linux に接続するには、下記のようにして 行ないます (Windows マシン側の作業です):
WinSCP を起動します。
SSH サーバのホスト名と、ユーザ名を入力します。
を押し、表示される警告を了解します。
WinSCP のウインドウを利用して、ファイルやディレクトリをドラッグ&ドロップ で転送します。
SSH フィンガープリント | |
---|---|
PuTTY や WinSCP では、初回のログイン時に SSH のフィンガープリントを受け入れ なければなりません。 |
本章では、データを共有するための様々な方法を紹介しています。恒久的なデータ 共有を希望する場合は、これらの方法のうちのいずれかを利用するのがよいでしょう。
サーバを設定するには、下記の手順で行ないます:
システムの準備を行ないます:
シェルを開き、 root
でログインしてから全ユーザに対して書き込み許可を
設定します:
mkdir /srv/nfs chgrp users /srv/nfs chmod g+w /srv/nfs
次に、クライアント側で利用しているユーザ名とユーザ ID が、サーバ上でも 登録済みであることを確認します。ユーザアカウントの作成や管理については、 第10章 YaST を利用したユーザ管理 (↑スタートアップ) に詳細な手順があります。
NFS サーバを準備します:
root
で YaST を起動します。
yast2-nfs-server
パッケージをインストールして
ください) 。
まずは
を選択し、 NFS サービスを有効にします。ファイアウオールをお使いの場合は、
を選択してファイアウオールのポートを開きます。ディレクトリを公開します:
/srv/nfs
を選択します。
オプション設定には下記のように指定します:
rw,root_squash,async
複数のディレクトリを公開する場合は、上記の手順を繰り返します。
最後に設定を保存して終了します。これで NFS サーバを利用することが できるようになります。
NFS サーバを手作業で起動するには、 root
から rcnfsserver
start と入力します。サーバを停止するには、
rcnfsserver stop と入力します。既定では、 YaST は
システム起動時にこのサービスの起動を管理します。
クライアントの設定を行なうには、下記の手順で行ないます:
NFS クライアントを準備します:
root
で YaST を起動します。
+ を選択します。
ファイアウオールをお使いの場合は、
を選択してファイアウオールのポートを開きます。リモート側のファイルシステムを取り込みます:
を押します。
NFS サーバのホスト名または IP アドレスを入力するか、もしくは
を押してネットワーク上に存在する NFS サーバの 一覧を表示させ、そこから選択します。リモート側のファイルシステムのディレクトリ名を入力するか、もしくは
を押して自動選択します。
適切なマウント先を指定します。たとえば
/mnt
のように指定します。なお、この手順を繰り返す
場合は、それぞれ異なるマウントポイント (もちろん /mnt
以外のマウントポイント) を指定します。
複数のディレクトリを取り込む場合は、上記の手順を繰り返します。
最後に設定を保存して終了します。これで NFS クライアントの設定は完了です。
なお、 NFS クライアントを手作業で起動するには、 rcnfs start と入力します。
一貫したユーザ名の使用 | |
---|---|
ごく少数のユーザでネットワーク環境をお使いの場合は、それぞれのマシンに対して 同じユーザを設定してください。大規模なネットワークなどで多数のユーザを登録する 必要があるような場合は、 NIS や LDAP を利用してユーザデータを管理することを お勧めします。詳しくは 第3章 NIS の使用 (↑セキュリティガイド) と 第4章 ディレクトリサービス LDAP (↑セキュリティガイド) をお読みください。 |
この章では、 Samba サーバ上にあるファイルに対してアクセスを行なうための 各種の方法を説明しています。なお KDE や GNOME には、 Samba の共有にアクセス するためのグラフィカルなツールが用意されているほか、 Samba サーバにアクセス するためのコマンドラインツールも存在しています。
KDE と GNOME のデスクトップでは、ファイルブラウザを利用して Samba の共有 にアクセスを行ないます。下記の手順で行なってください:
Alt+F2 を押し、
smb://jupiter.example.com/
のように入力します。
共有名
URL の書式は
smb://
で、それぞれ ホスト
/共有名
ホスト
には Samba サーバの
ホスト名 (jupiter.example.com
)
または IP アドレスを、 共有名
には
共有名を指定します。詳しくは ステップ 3.b
をお読みください。
ユーザ名とパスワードを入力してログインします。パスワードは ステップ 4 の手順で設定するか、 パスワードを必要としない環境であれば、何も入力せずに Enter を押します。
開いたウインドウを利用して、ドラッグ&ドロップでファイルやディレクトリを 操作します。
なお、お使いのネットワーク環境のワークグループ名がわからない場合は、
smb:/ と入力すると一覧を表示することができます。
Smb4K ツール (smb4k
パッケージ)
では、ネットワーク上に存在する全ワークグループを表示することができるほか、
必要に応じてマウントを行なうことができます。
コマンドラインを利用してアクセスしたい場合は、 smbclient コマンドを利用します。 Samba サーバにログインするには、下記のコマンドを実行して ください:
smbclient //jupiter/share -U tux
既に tux
ユーザになっている場合、 -U
は不要です。正常にログインが
完了すると、それぞれ ls (ディレクトリ一覧の表示),
mkdir (ディレクトリの作成), get
(ファイルのダウンロード), put (ファイルのアップロード)
などのコマンドが利用できるようになります。利用可能な全てのコマンドを表示する
には、 help と入力してください。詳しくは
smbclient のマニュアルページをお読みください。
Samba は Windows と Linux マシンの間でファイルを転送する際、第一に選択 すべきものです。 Samba を利用するにあたっては、下記のような使用形態が 考えられます:
Linux サーバを設定する必要が無いため、もっとも簡単な方法です。
smb:/
というスキームを利用してアクセスを行ないます。
詳しくは 27.7.2.1項 「KDE と GNOME を利用した共有へのアクセス」 をお読みください。
なお、両方のシステムでワークグループの設定が同じに設定されていて、
ディレクトリを共有していることをご確認ください。
お使いの Linux コンピュータ側で Samba サーバの設定を行ないます。詳しくは 手順27.4「Samba サーバの設定」 をお読みください。
お使いの Windows システムにおけるレジストリ設定の適用 | |
---|---|
Windows のバージョン (95, 98) によっては、異なる認証方法を有効にするため、
レジストリを少しだけ変更する必要があります。これを簡単に行なうには、
|
手順27.4 Samba サーバの設定¶
Samba サーバを設定するには、下記の手順で行ないます:
Samba サーバを準備します:
root
で YaST を起動します。
samba
パッケージをインストールします。
ディレクトリを作成します (以降では /srv/share
ディレクトリを作成するものとします) 。
サーバ設定を作成します:
+ を選択します。
表示されたワークグループ名からいずれかを選択するか、もしくは
新しいワークグループ名を入力します (以降では
Penguin
ワークグループを
選択したものとします) 。
を選択します。
お使いのコンピュータの起動時、毎回 Samba サーバを自動で起動したい場合は、
を選択します。それ以外の場合は を選択します。ファイアウオールをお使いの場合は、
を選択してファイアウオールのポートを開きます。Windows 共有を作成します:
タブに移動し、 を押します。
パスを選択します (たとえば /src/share
を選択します) 。
を押して先に進みます。
を選択します。
このサービスの利用を許可する全てのユーザに対して、下記のようにしてパスワード を設定します:
smbpasswd -a tux
設定を簡単にするには、 Enter だけを 押してパスワードを何も設定しないのがよいでしょう。なお、お使いの Windows と Linux ではそれぞれアカウントの管理体系が異なるため、同じユーザ名を持つ ユーザを設定するようにしてください。
Samba サーバを起動します:
rcnmb start rcsmb start
正しく設定を行なうことができているかどうかを確認するには、下記のように入力します:
smbclient -L localhost
Enter を押すと、下記のような表示が 現われるはずです:
Anonymous login successful Domain=[PENGUIN] OS=[Unix] Server=[Samba 3.0.22-11-SUSE-CODE10] Sharename Type Comment --------- ---- ------- share Disk Shared directory netlogon Disk Network Logon Service IPC$ IPC IPC Service (Samba 3.0.22-11-SUSE-CODE10) ADMIN$ IPC IPC Service (Samba 3.0.22-11-SUSE-CODE10) Anonymous login successful Domain=[PENGUIN] OS=[Unix] Server=[Samba 3.0.22-11-SUSE-CODE10] Server Comment --------- ------- SUSE-DESKTOP Samba 3.0.22-11-SUSE-CODE10 Workgroup Master --------- ------- TUX-NET jupiter