2012/10/21

sambaのパスワード


samba 3.xのpasswordの格納場所としてsmbpasswdファイルは推奨されないようだ。
確かにgentooにportageからsambaをインストールした時もシステムにsmbpasswdファイルは存在しなかった。
testparm -v | grep passで/var/lib/samba/private/smbpasswdとは出てくるがw。
実態はpassdb backend = tdbsamとなっており、ユーザ情報の格納にはtdbファイルが使用されている。
TDB(Trivial Database)というユーザ管理データベースだそうだ。
自分の環境では/var/lib/samba/private/passdb.tdbだった。
tdbファイルはバイナリファイルだが、tdbファイルの内容をdumpするtdbdumpというコマンドがあるため、中をのぞくことができる。
$ tdbdump /var/lib/samba/private/passdb.tdb
でOK。

2012/10/15

samba備忘録

今更だが、自宅でsambaを利用することにした。メインのデスクトップPCのファイルに他の端末からもアクセスできれば便利だ。
sambaの設定は/etc/samba/のsmb.confというファイルに記述して行う。
全体的な設定は[global]というところに書き、共有する部位ごとに[share]などとエントリを作っていく形式らしい。
設定項目についてまとめてみる。

[global]
workgroup = WORKGROUP # 通常はWORKGOURP?windowsの設定にもよるか
server string = Samba Server # コメントらしい
netbios name = Gentoo # NetBIOSでの名前。大文字になるようだ
browseable = Yes # 外からみえるようにするか、らしい。
os level = 35 # 各workgroupにはmaster browserある。そのなりやすさのpriority
preferred master = Yes # local master browserになろうとする

# security
security = user # ユーザ認証にする。
encrypt passwords = true
hosts allow = 192.168.0. 127. # アクセスできるホストを制御
invalid users = root # rootにはさせない
map to guest = Never # ゲストユーザは許さない方針。
guest ok = No

#
load printers = no # プリンタはなし。
log file = /var/log/samba/log.%m
max log size = 100 # (kb)

# codings
unix charset = UTF-8 # 日本語可にするにはこうしろ、とのこと。
display charset = UTF-8
dos charset = CP932

#
# Directories
#
[share]
comment = My Sharing Stuff
path = /path/to/dir
read only = No
create mode = 0777
directory mode = 0777
valid users = myname # 許可するユーザを設定。

設定を見たい場合はtestparmコマンドを使う。
詳細を見たい場合はtestparm -vでOK。
nfsとかにしようかとも迷ったが、CIFSならLinux、Windows両方からアクセスしやすいので、sambaにした。
使い始める時、sambaのユーザを追加する必要があるが、
# pdbedit -a -u myname でOK。-aはadd、-uはユーザ名。この後passwdを設定して終了。
削除するときは
# pdbedit -x -u myname でよい。
samba快適だわ。