Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

 Samba の導入

LinuxをNTサーバとして動作させるのがSambaです。
Sambaには様々な設定方法、設定項目が存在しますが、
ここでは自宅のLAN内に設置するファイルサーバとしての基本的な設定方法をご紹介いたします。

公式サイトは 日本 Samba ユーザ会 です。
ぜひご一読ください。

ページ内コンテンツ一覧

▲ページの最上部に戻る

 Samba のインストール

もうすでにインストールされているかもしれませんが、
もし Samba がインストールされていなければインストールします。

私の環境下ではインストールされていなかったので、 apt-get でお手軽インストールを行いました。

# apt-get update
# apt-get install samba

インストールの確認を行います
# rpm -qa | grep samba
samba-common-2.0.10_ja_1.2-0vl3.26
samba-2.0.10_ja_1.2-0vl3.26

上記2つのパッケージがインストールされました。

▲ページの最上部に戻る

 Samba 全体の設定

それでは早速設定に入ります。
Samba の設定ファイルは「 /etc/smb.conf 」になります。

/etc/smb.conf 」をエディタで開き設ファイルを編集します。

Samba の設定ファイルはその設定範囲によって [ ] で区切って記述します。
まずは基本になる Samba 全体に関する記述を行います。

Samba 全体の設定は [global] セクションで行います。

# Samba全体の設定 [global] # Linux側の日本語コードの指定。SJIS/EUC/CAP/HEXから指定する # smb.conf自体の文字コードをこの項目で指定した文字コードに合わせます coding system = euc # クライアントが使用する言語を指定します # 「932」は日本語を表します client code page = 932 # ワークグループを設定します workgroup = WORKGROUP # 自宅のワークグループに変更 # Sambaサーバに付加するコメント server string = Samba File Server # 適宜変更 # 暗号化パスワードを使用するか encrypt passwords = Yes # guest ユーザーにアクセスを許可するかどうか設定します # Bad User:ゲストユーザーとしてのアクセスを許可します # Never:ゲストユーザーのアクセスを拒否します map to guest = Bad User # 通信ソケットのオプション socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # WINSサーバの代理サーバとしてDNSを使うか dns proxy = No # ブラウジング機能の設定です # 必要な場合以外はデフォルト値で運用が推奨されています os level = 1 # クライアントの認証方法にuser認証を利用する security = user # Linux システムのパスワードとSambaのパスワードを同期させる unix password sync = yes # 追加 # Sambaが通信を許可するホスト、ネットワークIPアドレス、ネットワークインターフェースなどを指定します # 下記の場合、eth0に割り当てられているIPアドレスと、 # 自ホストと、192.168.11.*のIPアドレスを持つIPアドレスからSmabaへの接続が許可される interfaces = eth0 127.0.0.1 192.168.0.0/24 # 追加 # Sambaに関係するネーム・サービスへの接続を、上記interfaces項目に指定したホストだけに限定するかどうか # (yes:限定する) bind interfaces only = yes # 追加 # Sambaへの接続を許可するホストやネットワークを指定します # 下記の場合、192.168.0.*のIPアドレスを持つホストからの接続のみ許可します hosts allow = 192.168.0. # 追加

Samba 全体に関する設定は以上です。
ネットワークアドレスや、ワークグループ名はお使いの環境に合わせて記述して下さい。
上記で記述している他にも設定項目はありますので、他にしたいことがあればお調べください。


次に一般ユーザのホームディレクトリに関する設定を行います。
この設定は、他のユーザと共有を目的としているのではなく、そのユーザのみがアクセスできるようにしています。

# 一般ユーザのホームディレクトリに関する設定 [homes] # Windows側から見た時に付加されるコメント comment = %U's Home directory # Windowsの共有一覧にホームディレクトリを表示するか browseable = No # 読み出しのみ可能か read only = No # 書き込みを許可する writable = Yes # ファイルにはこのアクセス権(644)が付与される create mode = 0644 # ディレクトリにはこのアクセス権(775)が付与される directory mode = 0775


最後に他のユーザとの共有スペースに関する記述を行います。
ちなみに、他のユーザと共有する必要がなければ [ public ] セクションをまるごと削除、もしくはコメントアウトしてやればオッケーです。

# 別途共有スペースを作成します # デフォルトで用意してある[public]を利用します [public] # Windows側から見た時に付加されるコメント comment = Public space; anyone can write any files. # 共有するディレクトリのパス path = /home/samba/public # guestユーザのアクセスを許可するか guest ok = no # 読み出しのみ可能か read only = no # 書き込みを許可する writable = Yes # どのグループでアクセスさせるか force group = public # 強制的にファイルに与えるアクセス権 force create mode = 0664 # 強制的にディレクトリに与えるアクセス権 force directory mode = 0775 # 特定のユーザのみにアクセスを許可する場合には、 # valid users項目に「,」区切りでユーザ名を記述してゆく # 特定のグループのみにアクセスを許可する場合には、 # valid users項目にグループ名の最初に「@」を付加したグループ名を記述する # Linuxのグループ名「family」のみ接続を許可する valid users = @family

以上で設定は終了です。
この他にも設定項目・設定方法はありますので、ご自分の要求に合わせて記述して下さい。

▲ページの最上部に戻る

 Samba の起動と動作確認

設定が終わったので Samba の起動を行いましょう。

# /etc/rc.d/init.d/smb start Starting SMB services: [ OK ] Starting NMB services: [ OK ]

この状態で Windows マシンのマイネットワーク内にSmabaサーバが見えているかを確認します。
この状態ではSmabaにユーザ登録をしていないので、ログインすることはできません。

▲ページの最上部に戻る

 Samba ユーザの追加

Sambaの利用ユーザを追加します。
ここで追加したユーザ名と Linux システムのユーザ名が同じで、なおかつ smb.conf の「 unix password sync 」に「 yes 」が指定されていれば、
Smaba ユーザと Linux システムのパスワードが同期されます。

# smbpasswd -a username  ユーザ名「 username 」を Samba に追加します。
New SMB password:  パスワードを入力(入力しても何も表示されませんが、入力されます)
Retype new SMB password:  パスワードを再入力(同じく何も表示されませんが、入力されます)
Added user username.  ユーザの追加が成功

こんな感じでユーザを追加していきます

▲ページの最上部に戻る

 その他の設定

[ homes ] セクションを設定した場合

[ homes ] セクションで一般ユーザのホームディレクトリを Samba でアクセス可能にする場合、
ホームディレクトリのアクセス権を変更します。

# chmod 775 /home/username


[ public ] セクションを設定した場合

他のユーザと共有するための設定をした場合には共有用のディレクトリの作成とアクセス権を設定してやります。
作成するディレクトリは Samba の設定ファイルの [ public ] セクション内の「 path 」で記述したパスと同じでなければなりません。

# mkdir /home/samba
# chmod 777 /home/samba


自動起動の設定

マシン起動時にSmabaの自動起動を登録しておきます。

# chkconfig smb on

これで、マシン起動時に自動的に Samba が起動します。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net