# apt-get install samba
Debianのバージョンが3.1になっていればsambaのバージョン3.0系がインストールされます。
LAN内のワークグループ名を設定する
Windowsで使用しているワークグループ名を入力
インストール時の質問はデフォルトで答えた
特に変更なしで答える【 sambaネットワークの概要 】
今回構築するSambaサーバのおおまかな概要を図にしてみました。
| user1 | ユーザー:sambaパスワードの設定なし、secretフォルダにはアクセスできない。 |
| user2 | ユーザー:sambaパスワードの設定あり、public、secretフォルダ両方にアクセスできる。 |
| public | samba共有フォルダ:パスワードの設定なし |
| secret | samba共有フォルダ:パスワードの設定あり |
1.フォルダにパスワードを設定する場合、Sambaユーザーの追加をします。まず、Linuxユーザーを作成してからそのユーザーをSambaユーザーに登録します。
- コマンド:ユーザ追加
- # useradd -s /bin/false user2ログイン権限のないユーザーの作成(sambaの為だけに作成)
# smbpasswd -a user2上記で作成したユーザー名を入力(逆に削除するときはオプションを「-x」にする)
新規パスワードを聞かれるのでパスワードを設定する(ここで設定するパスワードはsambaにアクセスするときのパスワードです)
2.共有するディレクトリを作成します。
ここで作成したディレクトリがWindowsやMacの共有フォルダとなります。
ここでは誰でもアクセスできる「public」とパスワードが必要な「secret」ディレクトリを作成します。
- コマンド:ユーザ追加
- # mkdir /mnt/public/例:publicディレクトリを作成(どこでも良いし、名前は何でもよい)
# chmod 777 /mnt/public/上記ディレクトリのアクセス権限の設定をします
# mkdir /mnt/secret/例: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つ目の共有フォルダ上記設定でさらに共有フォルダを追加するには、[public2][secret2]等の名前でセクションの設定を追加していけばよいでしょう。
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」でアクセスさせる
もちろん、それぞれのフォルダに新規パスワードを設定するときはユーザ作成から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という名前で公開する
/mnt/public/ public volcharset:UTF8 maccharset:SHIFT_JIS
- ファイル編集:/etc/netatalk/afpd.conf
- 以下の行追加します。文字化け対策。
-unixcodepage UTF8以上でWindowsとMac間の文字化けは無くなると思います。
最後に、Mac特有のフォルダをWindowsから見えないようにする設定をします。しなくてもいいけど邪魔くさいので。
- ファイル編集:/etc/samba/smb.conf
- [global]カテゴリの中に追加する
delete veto files = yesveto filesの行に隠したいファイル・フォルダをスラッシュで区切っていく
veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
玄箱で遊ぼう!!―玄箱/玄箱HG対応 
玄箱の本 
玄箱をハックしよう!―ハックキットで夢のVine Linuxホームサーバー 