とりあえず、必要最低限と思われる状態までサーバ自体のインストールが終わったので、「自宅内でファイルサーバとして使う」という目標に沿って、必要なパッケージのインストールと設定をやっていきましょう。
一言でファイルサーバといっても・・・
一言で簡単にファイルサーバと言っても、どんなパッケージを入れればいいのか、迷うんじゃないかと思います。
ftpサーバでも「ファイルサーバ」としての目的は果たせますが、ftpクライアントをPC側にインストールしておく必要があったりする事を考えると、使い勝手という面では少し面倒に思うかも知れません。Windowsであればエクスプローラー、Mac OS XであればFinderからファイルサーバにアクセスできて操作できる方が圧倒的に使い勝手がよくなります。
ですので、ここではsambaによるファイルサーバを構築する事にしましょう。
sambaは、Windows NT互換のファイルサーバ/プリントサーバをLinuxを含むUNIXシステム上で実現するためのオープンソース・ソフトウェアのことです。(詳しい内容は、ここを読むと良いでしょう。)
sambaを使うことで、Linuxサーバが、あたかもWindowsサーバであるかのように振る舞うことが出来るため、Windowsクライアントからはエクスプローラーを使って、ファイル操作が簡単に行えるようになるのです。ちなみに、Mac OS Xでは、Windowsサーバやsambaで利用しているCIFS(別名smb)というプロトコルをサポートしているので、WindowsとMacが混在しているネットワークでのファイル共有も可能になります。
インストールの準備とパッケージの確認
では、ターミナルソフトを起動して、telnetで早速サーバにログインしよう。
ログインに成功すれば、
soukaku@debian:~$
という、プロンプトが表示されているはずなので、次のコマンドを入力して、debianパッケージにsambaが存在するか確認してみよう。
soukaku@debian:~$ aptitude search samba
p dpsyco-samba - Automate administration of access to samba
p gsambad - GTK+ configuration tool for samba
p python-samba - Python bindings that allow access to vario
v python2.4-samba -
p samba - a LanManager-like file and printer server
v samba-client -
p samba-common - Samba common files used by both the server
p samba-dbg - Samba debugging symbols
p samba-doc - Samba documentation
p samba-doc-pdf - Samba documentation (PDF format)
インストールと設定
パッケージが存在しているのが確認できたので、早速インストール。
インストール自体は、root権限でコマンドライン上から“aptitude install samba
”を実行します。すると、自動的に依存関係の解決が行われて、必要なパッケージを一緒にダウンロード、それに続いて基本的な設定を対話形式で行います。
まずsambaサーバの識別子として使われるワークグループ名かWindowsドメイン名の入力を求められるので、“myhome”をワークグループ名として入力します。勿論、自分の好きな文字列に出来ますが、クライアントがsambaサーバに接続するときに必要になるものですから、忘れないようにしてくださいね。
次に、sambaサーバ上でDHCPサーバが稼働しているかを聞かれますが、ここでは“No”を選択して次に進みます。
あとは、ダウンロードされたパッケージが自動的に解凍・インストールされ、必要最低限の設定が行われて、デーモンの起動までが行われます。
動作確認してみよう
動作確認は、
- デーモンが起動しているか
- クライアントからsambaサーバに接続できるか
- 正しく、ファイルの書き込みや削除が出来るか
という、3つのポイントで確認する事にします。
まず「デーモンが起動しているか」という点については、psコマンドを使ってnmbdとsmbd、2種類のデーモンが起動していれば、OK。
“ps axf | grep [ns]mbd
”と入力して、次のように表示されることを確認しましょう。
debian:~# ps axf | grep [ns]mbd
9607 ? Ss 0:00 /usr/sbin/nmbd -D
9609 ? Ss 0:00 /usr/sbin/smbd -D
9610 ? S 0:00 \_ /usr/sbin/smbd -D
次に「クライアントからsambaサーバに接続できるか」を試してみます。ここでは、Mac OS Xから確認する場合の方法になるので、Windowsユーザは各自接続する際の手順を調べてください。ググれば確実に見つかるはずです。
手順としては、
- クライアント上のFinderで移動メニューの「サーバへ接続…」を選択。
- 「サーバへ接続」というウィンドウが表示されたら、サーバアドレスの部分に“
smb://172.16.0.201
”と入力し、接続ボタンを押す。
- 認証を求められたら、パスワードを入力して、OKボタンを押す。
とやれば、接続出来るはずなのですが・・・。
今の時点では、次のようなエラーが表示されて、sambaへの接続が拒否されますが、「ユーザ認証には失敗するけど、sambaサーバに接続すると認証を求められる」ことが確認できたので「とりあえずsambaは動いている」と判断して、いうことで次にステップに進みます。
sambaにユーザアカウントを作る
何故、前段でユーザ認証に失敗したかというと、sambaではLinuxとは別のユーザ管理を行っていて、そちらアクセス可能なユーザアカウントを作成していなかった、というのが原因。まぁ、当たり前といえば当たり前な原因だったりする。
なので、sambaのユーザアカウントを作成しよう。
sambaでのユーザアカウント作成は、“smbpasswd
”というコマンドを利用する。新しいアカウントを作成するには“smbpasswd -a USERNAME
”と入力すればOK。(勿論、root権限でね。)
“USERNAME”のところは任意のものを指定できるけど、ここではLinuxのユーザと同じものを指定します。
debian:~# smbpasswd -a soukaku
New SMB password:
Retype new SMB password:
Added user soukaku.
パスワードは適当に決めてOK。ただし、忘れないこと。
smbpasswdでアカウントを作成するときに、Linux上にあるユーザと同じにしておくことで、クライアントから接続したときに、ユーザのホームディレクトリ(例で行くと、ユーザ“soukaku”の“/home/soukaku”)がマウントされる形になります。
これで、準備が出来たのだけど、ちゃんとホームディレクトリがマウントされるのかを確認するために、次の手順でファイルを一つ作成しておこう。
soukaku@debian:~$ pwd
/home/soukaku
soukaku@debian:~$ echo test > /home/soukaku/test.txt
soukaku@debian:~$ more /home/soukaku/test.txt
test
改めて、sambaに接続

接続の手順は、先に示したとおり、クライアントであるMacのFinderで「移動メニュー」の「サーバへ接続…」を選択します。
認証画面で、正しいパスワードを入力すると、ボリュームの選択ウィンドウが表示されるので、OKを押して進むと、“test.txt”という名前のアイコンが一つだけあるウィンドウが表示されて、無事sambaサーバへの接続が成功。
“test.txt”をダブルクリックして、テキストエディットで中身が表示出来るのが確認できれば、接続までは問題なしということになります。
コメントする