はじめる人のびぎねっと。

プライバシーポリシー

読み物

Samba 2.2ではじめるWindowsファイルサーバー入

ページ1  はじめに/Sambaって何?/準備/SWATを使ってみよう
ページ2  自分のホームディレクトリに接続しよう/共有ディレクトリを作成しよう
ページ3  プリンタを共有しよう

自分のホームディレクトリに接続しよう

Sambaの持っている便利な機能の一つとして、Sambaの動作しているLinux上に存在するユーザーのホームディレクトリに簡単に接続できる機能があります。ここでは、既にLinux上にユーザーtmiyaharが存在していることとして説明を行います。

まず基本的な考え方ですが、Linux上のユーザー名とWindowsネットワークのユーザー名(Windowsを起動した時に入力するユーザー名のこと)は同一のものにしておきましょう。また、WindowsをSambaサーバーに接続するには、Samba用のパスワードを設定しないといけませんが、このパスワードもWindowsネットワークにログオンする際のパスワードと同一のものにしておけば、Sambaサーバーにアクセスする際にいちいちパスワードを入力しないで済みます。ですから、ユーザー名、SambaパスワードともにWindows起動時に入力するものと同じにしておくことを推奨します。

Windowsのユーザ名=Linuxのユーザ名
Windowsのパスワード=Sambaのパスワード

Sambaパスワードは、通常のLinuxのパスワードとは別に、/etc/samba/smbpasswdというファイルに格納されます。つまり、Sambaを使うためには、Linux上にユーザーアカウントを作成するのとは別に、Sambaパスワードを設定しないといけないということになります。Sambaパスワードの設定は、スーパーユーザーでsmbpasswdコマンドを実行することによって行ないます。ユーザーtmiyaharのSambaパスワードの設定は以下の通りです。

# smbpasswd -a tmiyahar

この例で気をつけなくてはならないのは、次の2点。まずLinuxユーザーtmiyaharが既に存在していなくてはいけません。また、-aオプションを付け忘れないこと。aはAdd(追加)の意味で、まだ存在しないSambaユーザーtmiyaharのSambaパスワードを、/etc/smbpasswdファイルに追加するという意味になるからです。-aオプションを付けない場合は、パスワードの修正を行うという意味となり、まだ存在しないSambaユーザーのパスワードを変更しようとすると、エラーになります。

# smbpasswd -a tmiyahar
New SMB password:  ←Sambaパスワードを入力
Retype new SMB password:  ←もう1度入力
startsmbfilepwent_internal: unable to open file /etc/samba/smbpasswd. Error was No such 
file or directory
AAdded user tmiyahar.

初めてsmbpasswdコマンドを実行すると、上のようにエラーが起きているように見えます。これはエラーではなく、/etc/samba/smbpasswdファイルがまだ存在していないという単なる警告であり、smbpasswdコマンドが新たにファイルを作ってくれるので、心配する必要はありません。

さて、ここまで終わったら、WindowsクライアントからSambaサーバーのアイコンをダブルクリックしてみましょう。きちんと設定できていればサーバーに接続できるはずです。例えば、WindowsのパスワードとSambaのパスワードが違うなど、パスワードの設定がうまくいっていない場合には、警告ダイアログが表示されてしまいます。その時にはもう一度Linux上でsmbpasswd tmiyahar(今度は-aオプションなし)を実行し、Sambaパスワードを修正しましょう。

Sambaサーバーを表示しているウィンドウの中に、tmiyaharというフォルダが表示されているはずです。これが、Sambaサーバー上にあるユーザーtmiyaharのホームディレクトリです。Linuxでは、/home/tmiyaharとなります。このフォルダは基本的に他のユーザーからは見られないので、ユーザーの個人的な作業に利用することができます。

共有ディレクトリを作成しよう

次に、何人かのユーザーで共同利用のできる共有ディレクトリを作成しましょう。今回の例では、同じサーバーで動作しているWebサーバー「Apache」のHTMLファイルを簡単にWindowsから変更できるように、Apache用のディレクトリ(標準では「/var/www/html」)をSambaの共有ディレクトリにしたいと思います。そのための手順は次の通りです。

Linux上でグループを作成する
共有したいディレクトリを作成したグループの所有にする
そのグループがそのディレクトリを読み書きできるようにする
Sambaでそのディレクトリを共有フォルダに設定する
Linux上でグループを作成する

グループの作成はgroupaddコマンドを使います。ここでは、webというグループを作成しています。

# groupadd web
共有したいディレクトリを作成したグループの所有にする

ディレクトリのグループ所有権を変更するにはchownコマンドを使います。ここでは、/var/wwwおよび/var/www/htmlディレクトリのグループ所有権をwebに変更しています。

# chown .web /var/www /var/www/html
作成したグループがそのディレクトリを読み書きできるようにする

ディレクトリの読み書き権限を変更するにはchmodコマンドを使います。ここでは、/var/wwwおよび/var/www/htmlディレクトリの読み書き権限を読み書き可能に変更しています。

# chmod g+rw /var/www /var/www/html
SWATで共有フォルダを作成する

この作業はSWATで行います。WebブラウザでSWATにアクセスし、「共有設定 SHARES」アイコンをクリックします。表示されたフォームのテキストボックスに共有名を入力します。この共有名が「Sambaサーバーに接続した際に表示されるフォルダ名」となります。共有名には日本語も使うことが出来ます(Samba日本語版のみ)。

「新規共有作成」ボタンを押すと、画面が切り替わり、今作成した共有ディレクトリの詳細を設定できる画面になります。ここで設定するべき項目がいくつかありますので、見ていきましょう。

「基本オプション」-「path」

作成した共有ディレクトリが、Sambaサーバー上でのどのディレクトリを指すのかを指定します。今回の例では「/var/www/html」となります。

「セキュリティオプション」-「writeable」

この共有ディレクトリが書き込み可能かどうかを設定します。当然「Yes」に設定します。

変更を行ったら「設定変更」ボタンを押します。新しい設定はSambaを再起動することなく反映されます。

うまく出来たかどうか、WindowsクライアントからSambaサーバーのアイコンをダブルクリックして確認してみましょう。新しいフォルダが追加されていたら成功です。そのフォルダに何かファイルをコピーしてみましょう。もしうまくコピーが出来ない場合には、Sambaサーバー側でディレクトリの書き込み権限の確認を、またSWATで「セキュリティオプション」-「writeable」の設定を確認してみてください。また、すでに存在するファイルが読取専用の場合もあります。

ページ1  はじめに/Sambaって何?/準備/SWATを使ってみよう
ページ2  自分のホームディレクトリに接続しよう/共有ディレクトリを作成しよう
ページ3  プリンタを共有しよう

このページのTOPへ