Sambaの設定ファイルsmb.confメモ
ネットワーク内にLinuxを導入したらWindowsのファイル共有を使えると効率がいいので、Sambaをインストールして設定していますが、その設定ファイルsmb.confをメモのために置いときます。
< 2017/06/26 追記 >
CentOS7向け最新記事はこちら。
インストールした直後はとりあえず/etc/samba/smb.confに次の記述して保存。
[Samba_Conf]
comment = Samba config
path = /etc/samba
guest ok = No
browseable = Yes
write list = root
sambaのユーザにrootを追加
$ pdbedit -a root
追加したらsambaを再起動
$ /etc/rc.d/init.d/smb restart
そのあとWindowsからネットワーク経由でサーバにアクセス。
下に書いてあるsmb.confに上書きしてsambaを再起動。 日本語が含まれているので文字コードを注意。 再起動後はたまにsambaユーザが消えるので
$ pdbedit –L
で確認。いなかったらもう一回rootユーザを追加。
$ pdbedit -a root
sambaを自動起動させる。
$ chkconfig smb on
以下smb.confの中身
[global]
#動作モード
smb ports = 139#ユーザの認証する方法(user, server, domain, share)
security = user#Unix Windows互換機
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
#ファイルモードをウィンドウズ風に
dos filemode = Yes
dos filetimes = Yes
dos filetime resolution = Yes#NetBIOSサービス設定
#sambaサーバのドメイン名またはワークグループ名を指定
workgroup = WORKGROUP
#エクスポローラで表示したときのコメントとして表示される
; server string = Samba %v on %h (Start time:%T )
server string = Samba %v
#NetBIOS名を指定
netbios name = pluto#プリンタ機(プリンタの共有はしない)
load printers = No
disable spoolss = yes
; printcap name = /etc/printcap
printing = bsd
; cups options = raw#パスワード管理、同期
#security = server, domainの際にパスワードを認証するサーバ
; password server = miyan
; password level = 8
; username level = 8
encrypt passwords = Yes
username map = /etc/samba/smbusers
; passdb backend = tdbsam
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *ReType*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*#名前解決関係
name resolve order = wins lmhosts bcast
; local master = Yes
; os level = 65
; domain logons = Yes#ブラウジング機能関係
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.12.2/24 192.168.13.2/24
; remote browse sync = 192.168.3.25 192.168.5.255
; remote announce = 192.168.1.255 192.168.2.44
; domain master = No
; preferred master = Yes#WINS関係
wins support = yes
; wins server = w.x.y.z
; wins proxy = Yes
dns proxy = No#ユーザ管理
hosts allow = 192.168.0. 192.168.1. 127.
hosts deny = ALL
; guest account = pcguest
#認証なしでアクセスしたいときはコメントをはずす
#map to guest = bad user
admin users = administrator root
winbind uid = 10000-20000
winbind gid = 10000-20000#ログの設定
log file = /var/log/samba/%m.log
max log size = 50
; include = /etc/samba/smb.conf.%m
; preserve case = No
; short preserve case = No
; default case = lower
; case sensitive = No
; logon script = %m.bat
; logon script = %U.bat
logon path = \\%L\Profiles\%U
; logon path = \\%L\%U\profile#Windowsクライアントに時刻サーバとして提供するかどうか
time server = yes#その他
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/false
winbind use default domain = no#以下 共有セクション
[homes]
comment = %U's Home Directory
read only = No
browseable = No#システムログファイル
[System_Log]
comment = System log file
path = /var/log
guest ok = No
browseable = Yes
read only = Yes#sambaの設定ファイル
[Samba_Conf]
comment = Samba config
path = /etc/samba
guest ok = No
browseable = Yes
write list = root#いろいろな設定ファイル
[Etc_Conf]
comment = Etc config
path = /etc
guest ok = No
browseable = Yes
write list = root#tempディレクトリ
[tmp]
comment = Temp Directory
path = /tmp
guest ok = No
browseable = Yes
writable = Yes#optディレクトリ
[opt]
comment = OPTION Directory
path = /opt
guest ok = No
browseable = Yes
writable = Yes
#for TortoiseSVN(subversion)
create mask = 0644
force create mode = 0600
security mask = 0555
force security mode = 0600
<2008/06/21 追記>
CentOSの場合は次のようにしたほうがいいかも。ファイルの文字コードは「utf-8n」で保存することを忘れずに。
#Unix Windows互換機
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
<2008/11/08 追記>
LAN内からのアクセスしか認めないのようhosts allowとhosts denyの設定を変更。
<2008/12/09 追記>
Unix ユーザとのパスワード同期を有効にした。
<2009/04/11 追記>
認証しなくても共有フォルダにアクセスできるようにmap to guest を追記。コメントをはずすと認証なしでアクセス可能に。
<2009/08/07 追記>
いちいち書き換えるのが面倒だったので、charsetをeucJP-msをUTF-8に変更。あと、細かいところを自分が使いやすいように変更
<2009/09/02 追記>
次のようなエラーが出るので
[2009/09/01 09:01:05, 0] lib/util_sock.c:get_peer_addr(1224)
getpeername failed. Error was 通信端点が接続されていません
[2009/09/01 09:01:05, 0] lib/util_sock.c:write_data(562)
write_data: write failure in writing to client 192.168.0.88. Error 接続が相手からリセットされました
smb ports = 139を追加。
<2010/06/10 追記>
WindowsのTortoiseSVNと連携するときの設定を追加。詳細はこちらの記事を参照。
<2010/08/23 追記>
コマンドメモ
pdbedit -a <ユーザー名> :ユーザー追加
pdbesit -x <ユーザー名> :ユーザー削除
smbpasswd <ユーザー名> :パスワード変更
<2011/03/17 追記>
他のユーザーと共有して、TortoiseSVN(Subversion)を使うだけの設定を追記。新しく仮想マシンを追加したときはこの設定だけ変更することにした。
workgroup = VM
server string = Samba %v
netbios name = vm-server
hosts allow = 127. 192.168.security = share
public = yes
guest only = yes
guest account = smbguestload printers = no
; cups options = raw[opt]
comment = Option Directory
path = /opt
browseable = Yes
writable = Yes
#for TortoiseSVN(subversion)
create mask = 0644
force create mode = 0600
security mask = 0555
force security mode = 0600
# useradd -M -s /sbin/nologon smbguest
# chown smbguest /opt