Custom Search

JITAKU_SVR_Wiki

samba

Linuxサーバにsambaを構築することでwindowsマシンからマウントさせることが出来る。
LinuxとLinuxであればnfsが一番楽だが、windowsと共有したい場合には必須となる。

以下、動作させるために必要な構築方法。

パッケージのインストール

環境:
OS:RHEL 6.2 64bit

必要パッケージ:

# rpm -qa |grep samba
samba-common-3.5.10-114.el6.x86_64
samba-winbind-clients-3.5.10-114.el6.x86_64
samba-3.5.10-114.el6.x86_64

インストールはyumを使用して一発で完了。

# yum -y install samba



設定

smb.conf

smb.confは色々と書き方があり、人によってもそれぞれなので、とりあえずネットで調べて、よく使われている設定方法を入れてみる。

あまり長いconfigではないので一旦すべて列挙。

# cat smb.conf

[global]

workgroup = WORKGROUP
server string = Samba Server Version %v
hosts allow = 127. 192.168.1. 192.168.6.


unix charset = UTF-8
dos charset = CP932
display charset = UTF-8
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *new*password* %n\n *new*password* %n\n *succes*fully*


load printers = no
disable spoolss = yes
smb ports = 139

log file = /var/log/samba/log.%m
max log size = 50


security = user
passdb backend = tdbsam

load printers = no
cups options = raw

[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
only guest = no
printable = no
vfs objects = recycle
create mode = 664
directory mode = 775

recycle:repository = .recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*



・[global]
設定ファイルを見てみると、[global]と書かれている箇所がある。
これが共通設定項目。
後にどのディレクトリを共有するかの設定を行うが、このglobaで設定するのは、全体設定となる。


workgroup = WORKGROUP
server string = Samba Server Version %v
hosts allow = 127. 192.168.1. 192.168.6.

workgroupにはドメイン名を入れる。WORKGROUPを入力すれば同じセグメント内なら共有可能(?)
server stringはサーバの表示名。
hosts allowはどのセグメントから共有を可能にするかのフィルタリング機能。



log file = /var/log/samba/log.%m
max log size = 50

%m は、クライアントごとにログ・ファイルを作成する。
log sizeの単位はKB。


unix charset = UTF-8
dos charset = CP932
display charset = UTF-8

unix charset,dos charset, display charsetは各環境の文字コード設定。


unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *new*password* %n\n *new*password* %n\n *succes*fully*

unix password syncはSambaパスワードとUNIXパスワードを同期する。
ただし、次設定のpasswd programが正しく設定されていないとうまく機能しないので注意が必要。

passwd programはパスワード変更コマンド(passwd)が呼び出されるパス。%uはユーザ名という意味。
passwd chatはpasswdコマンドを使用すると分かるのだが、サーバとのやり取り(chat)を示している。
この定義がディストリビューションなどによって変わってくるので、正しく設定しないとunix passwd programが機能しない。



security = user
passdb backend = tdbsam

ユーザ認証設定項目。
securityにはいくつか設定するための項目が存在する。
以下、参考URL元から拝借。
・security = share
「share」パラメータではユーザー名がSambaに渡されないモードだ。共有レベルのセキュリティとされ、パスワードを知っているユーザーであれば誰もがアクセス可能である。
利用するパスワードによって、例えばを読み取り専用、読み書き可能といった選択肢が可能になる。

・security = server
サーバレベルのセキュリティと呼ばれ、上記「user」モード同様にユーザー名、パスワードで認証を行う。
ただし、Samba側はWindowsクライアントが送信するユーザー名、パスワードを別のSMBパスワードサーバ(別のSambaサーバか、ネットワークでPDCとして機能するWindows 2000 Serverなど)に送信し認証が委任される。
パスワード認証を行うサーバーがNTや2000 Serverである場合、smbpasswdにてSamba用のパスワードを生成する必要や、smb.conf内で「encrypt passwords = yes」を指定する必要もない。

・security = domain
「domain」は、「server」指定時のモードと類似している。この指定時には、SambaサーバがWindowsドメインのメンバとして動作を行うようになる。
この場合にはワークグループ内のユーザー認証も可能となり、ユーザとパスワードをセキュリティ認証モジュール(SAM)内に記録する。



passdb backend = tdbsam

パスワードバックエンドをtdbsam に指定。
パスワードをローカルで管理するか、LDAPで管理するかを指定している。
ldapを使用する場合は「ldapsam 」を指定する。


load printers = no
cups options = raw

load printersはすべてのプリンターのブラウジングを設定する。noで無効。
cups optionsはSambaから、CUPSに送るデータの扱い方法。
Rawとすることで、CUPSでは一切手を加えず、そのままプリンタに送る。
プリンターのブラウズが無効であれば書かなくても良い(?)



[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes
only guest = no
printable = no
vfs objects = recycle
create mode = 664
directory mode = 775

[public]はセクション名。
セクション名は好きな名前を付けることが出来る。

commentはそのままコメントの意味。
path = /home/samba は/home/sambaを共有するという意味。
public = yes この行はsecurity = shareにしておかないと意味をなさない。
(※今回は記述しているが必要ない)
writableは書き込みの許可。
only guestは匿名ユーザの扱いをどうするかを設定。今回は拒否。
printableはプリンタを共有するか否か。
vfs objectsはrecycleを指定することでゴミ箱を有効にすることが可能。
create modeはファイルを作成したときのデフォルト権限の設定。
directory modeはディレクトリを作成したときのデフォルト権限の設定。


recycle:repository = .recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*

上記はゴミ箱に関する設定。
recycle:repositoryは削除されたファイルの移動先ディレクトリ。
recycle:keeptreeはディレクトリ構造を維持してごみ箱に移動するか否か。
recycle:versionsは同名のファイルがごみ箱にある場合、別名で保存するか否か。
recycle:touchはファイルがごみ箱に移されたときに、ファイルのアクセス日を変更するか否か
recycle:maxsizeはごみ箱に移動するファイルの上限をbyte数で指定。0で無制限。
recycle:excludeはごみ箱に移動せず即座に削除するファイルを指定。

ここまでで設定は完了。
次にユーザを作成する。

参考

http://www.server-world.info/query?os=CentOS_5&p=samba&f=2
http://www.atmarkit.co.jp/flinux/samba/whatissamba01/whatissamba.html
http://www.geocities.co.jp/SiliconValley-PaloAlto/3626/server_setting/samba/20051119_samba.htm
http://www.itmedia.co.jp/help/tips/linux/l0517.html
http://www.nslabs.jp/samba.rhtml
http://www.jitaku-server.net/samba_advance.html
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/734recycle3.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-22 (火) 14:24:24 (639d)