Sambaとは
SambaとはWindowsのファイル、プリンタサーバー用ソフトウェアです。
パソコンのOSとして一般的なWindowsでは、SMB(Server Message Block)という
プロトコルを使ってこれらの機能を実現しています。
Linuxでは、Sambaを利用してWindows用サーバーを構築することが可能となります。
ちなみに、Mac OS(OSX)だとデフォルトでSMBをサポートしています。
※Windows共有を有効に設定
OSXとWindowsをお使いの場合はSambaだけでファイル、プリンタサーバーを
実現できそうです。
それでは、早速設定をおこないましょう。
Sambaのインストール
・aptコマンドでインストールを実行
|
[root@yu_syun etc]# apt-get install samba
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
* samba は既に最新バージョンがインストールされています
0 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 1 個の保留パ
ッケージがあります。
[root@yu_syun etc]#
|
すでに最新版がインストールされている場合は、上のようなメッセージがでます。
インストールは不要ですので、早速”smb.confの編集”に進んでください。
インストールが必要な場合は、インストールを実行後、次に進んでください。
▲設定フローへ戻る
smb.confファイルの編集
・smb.confファイルを編集する前に
ウィンドウズ側のシステムプロパティよりWORKGROUPを確認しましょう。
※smb.confの設定で必要となります。
それでは、smb.confファイルを編集してみましょう。
viエディタで「smb.conf」ファイルを開きます。
|
[root@yu_syun etc]# vi /etc/smb.conf
|
|
<smb.confファイルより抜粋>
# ↓Sambaの全体的な設定を行うセクション
[global]
# 漢字コードはnetatalkと併用する場合「cap」設定とします。
# netatalkとSambaを併用する場合は、netatalkにあわせて「cap」に設定しましょう。
coding system = cap
# シフトJISを選択
client code page = 932
# Windowsネットワーク設定しているワークグループ名
workgroup = WORKGROUP
# エクスプローラなどの説明文
server string = Samba %v
# 暗号化パスワードを使用するか設定(Yes:暗号化を使用)
encrypt passwords = Yes
# Windowsユーザー名がLinux上に存在しない場合の扱い方
map to guest = Bad User
# 通信の際に使用するソケット関するオプション指定
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# ホスト解決にDNSサーバーを使用するかの指定
dns proxy = No
# マスタブラウザを選定する際に必要なレベル
os level = 1
# ↓Linuxでのホームディレクトリの公開を行うセクション
[homes]
# ↓ホームディレクトリに対するコメント
# %U:ユーザー名
comment = %U's Home directory
# ↓ファイルへのアクセス権
# read only = Yes(読み込みのみ)/No(読み書き可)
read only = No
# ディレクトリ一覧への表示設定
browseable = No
# ↓プリンタ共有の設定を行うセクション
[printers]
comment = All Printers
# ↓プリントデータの格納先
path = /var/spool/samba
# ↓プリントを有効にします。(印刷する場合はYesに設定)
print ok = Yes
browseable = No
|
|
・共有したいディレクトリを追加する場合
共有フォルダを追加する場合は、個別にセクションを追加する必要があります。
コメントされている、「public」セクションを参考にすれば少し変更を加えるだけで
設定できそうです。
↓参考までにPublicセクションの設定項目を見てみます。
|
<smb.confファイルより抜粋>
;[public]
# ディレクトリに関してのコメントを設定
comment = Public space; anyone can write any files.
# 共有ディレクトリのパスを設定
path = /home/samba/public
# ゲストユーザーの接続許可
guest ok = yes
# ファイルへのアクセス権
# read only = Yes(読み込みのみ)/No(読み書き可)
read only = no
# ファイルへアクセスを行うときのグループ名
force group = public
# ファイル作成時のパーミッション設定
force create mode = 0664
# ディレクトリ作成時のパーミッション設定
force directory mode = 0775
|
|
publicセクションを変更すれば、共有フォルダを追加できそうですね。
早速試してみましょう。
・グループ1のユーザーのみにアクセス可能なディレクトリ(/home/samba/share1)を設定
|
;[share1]
# 共有ディレクトリのパスを設定
path = /home/samba/share1
# ファイルへのアクセス権(書き込み可)
writable = yes
# 「group1」のユーザーのみアクセス可
valid users = @group1
# グループを「group1」に設定
force group = group1
# ファイル作成時のパーミッション設定
force create mode = 0660
# ディレクトリ作成時のパーミッション設定
force directory mode = 0770
|
|
以上の設定で、グループ「group1」に所属するユーザーの共有ディレクトリを作成できます。
他にも設定を変えることによりいろんな設定が可能ですね。
環境に合わせて設定してみてください。
▲設定フローへ戻る
Samba用パスワードの設定
以下のコマンドよりSamba用パスワードを設定します。
|
[root@yu_syun etc]# smbadduser foo:foo(※)
----------------------------------------------------------
ENTER password for foo
New SMB password: <-Samba用パスワードを入力
Retype new SMB password: <-もう一度入力
Password changed for user foo.
|
※foo:foo -> Linuxでのユーザー名:Windowsでのユーザー名
以上の設定によってパスワードの追加は終了です。
上記コマンドにより/etc/smbpasswdにパスワードが登録されます。
あとは、Sambaを起動(再起動)して設定を有効にします。
▲設定フローへ戻る
Sambaの起動(再起動)
以下のコマンドよりSambaを起動します。
|
[root@yu_syun etc]# /etc/rc.d/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
|
Sambaが正常に起動するはずです。(起動には若干時間がかかるかもしれません)
Sambaが正常に起動しましたら、ウィンドウズのマイネットワークで確認してみましょう。
↓マイネットワークを確認するとSambaサーバーが確認できます。
あとは、設定したパスワードでログインできるはずです。
・Sambaを自動起動に設定
chkconfigコマンドでsmbの起動状態を確認してみます。
|
[root@yu_syun etc]# chkconfig --list
smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
|
デフォルトでは全てのランレベルでoff状態となっています。
これでは、起動毎にSambaを手動で起動しなくてはいけません。
自動起動できるように設定しておきましょう。
↓以下のコマンドでsmbを自動起動に設定します。
|
[root@yu_syun etc]# chkconfig smb on
|
以上の設定で再起動時に自動でSambaが立ち上がるようになります。
▲設定フローへ戻る
Copyright(c) 2005, All Rights Reserved.