トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

2008年09月15日
 新サイト開設



ファイルサーバ:samba


ここでやること
■ ファイルサーバであるSamba3をインストールする
■ ファイルサーバ用のユーザとパスワードを設定する
■ MacでもアクセスできるようにNetAtalkをインストールする

「Samba」とはWindowsネットワーク内でファイル共有を行うサーバーアプリケーションです。
自宅のネットワークにファイルサーバーを置くと複数のパソコンでファイルの共有が出来ますし、データのバックアップにも使えます。 また、「Samba」と「NetAtalk」の設定をすることによりWindowsとMacの共有も文字化けすることなく行うことが出来ます(クラシック版でしか確認していませんが)。
はじめに、Windows専用のファイルサーバ設定を紹介します。

コマンド:インストール

Debianのバージョンが3.1になっていればsambaのバージョン3.0系がインストールされます。

# apt-get install samba

Windowsで使用しているワークグループ名を入力

LAN内のワークグループ名を設定する


質問には特に変更なしで答える

インストール時の質問はデフォルトで答えた


【 sambaネットワークの概要 】
今回構築するSambaサーバのおおまかな概要を図にしてみました。
user1 ユーザー:sambaパスワードの設定なし、secretフォルダにはアクセスできない。
user2 ユーザー:sambaパスワードの設定あり、public、secretフォルダ両方にアクセスできる。
public samba共有フォルダ:パスワードの設定なし
secret samba共有フォルダ:パスワードの設定あり


※user1は便宜上、記載していますが一般ユーザのことで、特に作成する必要はありません。




1.フォルダにパスワードを設定する場合、Sambaユーザーの追加をします。まず、Linuxユーザーを作成してからそのユーザーをSambaユーザーに登録します。

コマンド:ユーザ追加

ログイン権限のないユーザーの作成(sambaの為だけに作成)

# useradd -s /bin/false user2

上記で作成したユーザー名を入力(逆に削除するときはオプションを「-x」にする)
新規パスワードを聞かれるのでパスワードを設定する(ここで設定するパスワードはsambaにアクセスするときのパスワードです)

# smbpasswd -a user2

2.共有するディレクトリを作成します。
ここで作成したディレクトリがWindowsやMacの共有フォルダとなります。
ここでは誰でもアクセスできる「public」とパスワードが必要な「secret」ディレクトリを作成します。

コマンド:ユーザ追加

例:publicディレクトリを作成(どこでも良いし、名前は何でもよい)

# mkdir /mnt/public/

上記ディレクトリのアクセス権限の設定をします

# chmod 777 /mnt/public/

例:secretディレクトリを作成(どこでも良いし、名前は何でもよい)

# mkdir /mnt/secret/

上記ディレクトリのアクセス権限の設定をします

# chmod 777 /mnt/secret/

3.sambaのインストール時にある程度設定を行いましたが、直接設定ファイルを修正することで細かい設定を行うことができます。 ここが一番重要なところですので間違えないように設定してください。
 smb.confの設定は大きく分けて、全体的な設定を行う[global]と各共有フォルダごとの設定を行う[homes]等があります。
 smb.conf内にはあらかじめ色々な設定が書かれていますが、下記の内容が書かれていれば変更し、無ければ追加します。その他の設定には触りません。 下記では玄箱サーバ内でパスワードなしでアクセスできる[public]とパスワードが必要な[secret]の2つのフォルダを共有する設定を行っています

ファイル編集:/etc/samba/smb.conf

[global]から始まる文から下の方の[]で囲まれた文字までがsambaシステム全体の設定になります

[global]
 workgroup = ワークグループ名 ←Windowsで設定しているワークグループを入力
 server string = 共有PCからみえるサーバ名 ←ここで設定したサーバ名が「マイネットワーク」で表示されます
 security = share 共有の設定をします。ほかには「user」などがあります。

 unix charset = EUCJP (sambaバージョン3.0系の場合)
 dos charset = CP932 (sambaバージョン3.0系の場合)
 display charset = EUCJP (sambaバージョン3.0系の場合)

 # client code page = 932 (sambaバージョン2.0系の場合)
 # coding system = sjis (sambaバージョン2.0系の場合マックと共有させるには「CAP」と指定)

 デジカメの写真をサーバに保存すると「Thumbs.db」や「THUMBなんとか」といった Windows特有の画像 キャッシュファイルが表示されてジャマくさいので表示させないように設定を行います。↓
 delete veto files = yes
 veto files = /Thumbs.db/THUMB*/ ←/で区切って追加していく


文の下の方に[]で囲まれた文字がありますが、これが公開されるフォルダの設定になります。
[]で囲んだ文字(公開フォルダ名)を追加していけばその数だけ共有フォルダが増えていきます

[public] ←1つ目の共有フォルダ
 comment = 共有PCから見えるフォルダ名
 path = /mnt/public ←前述で作成しておいたフォルダ
 guest ok = yes
 browseable = yes
 writable = yes
 create mask = 777
 directory mask = 777

[secret] ←2つ目の共有フォルダを作成
 comment = 共有PCから見えるフォルダ名2
 path = /mnt/secret ←前述で作成しておいたフォルダ
 guest ok = no ←この共有フォルダにはパスワードが必要
 browseable = yes
 writable = yes
 create mask = 777
 directory mask = 777
 username = user2 ←このフォルダには強制的に「user2」でアクセスさせる

上記設定でさらに共有フォルダを追加するには、[public2][secret2]等の名前でセクションの設定を追加していけばよいでしょう。
もちろん、それぞれのフォルダに新規パスワードを設定するときはユーザ作成からsmbpasswd設定をしておきましょう。

これでsmb.confの設定は終わりですが、念のため下記のコマンドで正しく書かれているかどうかのチェックを行います。 英語で表示されますがなんとなくわかると思います。

コマンド:smb.conf書式チェック

# testparm

コマンド:samba再起動

sambaを再起動して設定を反映させます。再起動しないと変更した設定は反映されません。

# /etc/init.d/samba restart

以上でsambaの設定は終了です。上記のコマンドでsambaを再起動すればWindowsの「マイネットワーク」から玄箱サーバが 見えると思います。アイコンをクリックして設定した共有フォルダにアクセスできます。
パスワードが必要なフォルダにはsmbpasswdで設定したパスワードを入力します。

※Windows側の設定としてはワークグループ名のチェックをしておいたほうがよいでしょう。 Windows XPなら「設定」→「コンパネ」→「システム」から「コンピュータ名」のタブをクリックし、ワークグループ名がsmb.confで 設定されているものと同じかどうか確認します。 もしも違う場合は同じワークグループ内に表示されませんので変更しておきましょう。



4.共有フォルダへ接続してみる。

共有フォルダへ接続

Windowsの「マイネットワーク」を開き、左枠の「ワークグループのコンピュータを表示する」をクリックして接続。





上記の方法以外にもWindowsの「スタート」を開き、「ファイル名を指定して実行」をクリックして 「\\玄箱のIPアドレス\共有フォルダ名」と入力(アドレスやフォルダは例です)して直接フォルダを開く方法もあります。







ファイルサーバ:NetAtalk


Windowsだけでなく、Macを含むネットワークを構築されている方はsambaだけではなくNetAtalkの設定をしないと共有できません。 Windowsしか無いのであればこの項目は無視してください。

まずはNetAtalkをインストールします

コマンド:インストール

# apt-get install netatalk

次にNetAtalkの設定をおこないます

ファイル編集:/etc/netatalk/AppleVolumes.default

以下の行をコメントアウトする

# ~/ "Home Directory"

以下の2行を追加する。文字化け対策。

volcharset:UTF8 maccharset:SHIFT_JIS
/mnt/public/ public volcharset:UTF8 maccharset:SHIFT_JIS

上記設定だと/mnt/public/ディレクトリを共有して、publicという名前で公開する


ファイル編集:/etc/netatalk/afpd.conf

以下の行追加します。文字化け対策。

-unixcodepage UTF8

以上でWindowsとMac間の文字化けは無くなると思います。
最後に、Mac特有のフォルダをWindowsから見えないようにする設定をします。しなくてもいいけど邪魔くさいので。

ファイル編集:/etc/samba/smb.conf

[global]カテゴリの中に追加する

delete veto files = yes
veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/

veto filesの行に隠したいファイル・フォルダをスラッシュで区切っていく