snv_108 での CIFSサーバ設定

今回の目玉(?)ということで、ファイルの共有にsambaではなくCIFSで。

参考にしたのは、Sunの増月さんの"OpenSolarisWindowsとのデータ交換/共有"という資料(pdf)です。多分、Nightセミナーの資料だと思いますが、、、私は参加していない回のようで。

○普通のsambaパッケージ


$ pfexec pkg info -r SUNWsmba
名前: SUNWsmba
概要: samba - A Windows SMB/CIFS fileserver for UNIX
カテゴリ: System/File System
状態: インストール済みでない
権限: opensolaris.org.dev
バージョン: 3.0.33
ビルドリリース: 5.11
分岐: 0.108
パッケージ化の日付: Wed Feb 18 05:46:13 2009
サイズ: 87.59 M バイト
FMRI: pkg:/SUNWsmba@3.0.33,5.11-0.108:20090218T054613Z

○CIFSパッケージ


$ pfexec pkg info -r SUNWsmbskr
名前: SUNWsmbskr
概要: SMB Server (Kernel)
カテゴリ: System/File System
状態: インストール済みでない
権限: opensolaris.org.dev
バージョン: 0.5.11
ビルドリリース: 5.11
分岐: 0.108
パッケージ化の日付: Wed Feb 18 05:46:58 2009
サイズ: 1.87 M バイト
FMRI: pkg:/SUNWsmbskr@0.5.11,5.11-0.108:20090218T054658Z

もうパッケージ名がどっちもsambaでわけわからん。。。将来的にCIFSでsambaを上書きしてしまう気なのか?

セットアップ


$ pfexec pkg install SUNWsmbs
...
$ pfexec pkg install SUNWsmbskr
このイメージで使用可能な更新は存在しません。
$
$ pfexec svcadm enable -r smb/server
svcadm: Pattern 'smb/server' doesn't match any instances
$

インストールできない?なんで、でパッケージ名が(Kernel)とか書いてあるので、既にSolarisカーネルに統合済み?と思って調べる。


$ find /var/svc/manifest/ |grep smb
/var/svc/manifest/network/smb
/var/svc/manifest/network/smb/client.xml
/var/svc/manifest/network/smb/server.xml
$ cd /var/svc/manifest/network/smb/
$ more server
...

...
$

入ってるじゃないか、CIFSサーバ。
SMFに登録されない状態で、実は入ってますという。。。


$ pfexec svccfg import server.xml
$ svcs -a |grep smb
disabled 22:51:49 svc:/network/smb/client:default
disabled 23:27:49 svc:/network/smb/server:default
$ svcs -l smb/server
fmri svc:/network/smb/server:default
name smbd daemon
enabled false
state disabled
next_state none
state_time 2009年03月10日 23時27分49秒
restarter svc:/system/svc/restarter:default
dependency require_any/error svc:/milestone/network (online)
dependency require_all/error svc:/system/filesystem/local (online)
dependency require_all/error svc:/system/idmap:default (disabled)
$

依存パッケージともども立ち上げると、、、メンテナンス?


$ pfexec svcadm enable idmap
$ pfexec svcadm enable smb/server
$ svcs smb/server
STATE STIME FMRI
maintenance 23:31:08 svc:/network/smb/server:default
$

とりあえず、以下で解決。(理由は不明)
=> なんか動くけど性能が出ないのでリブートしたら、まともになりました。


$ pfexec svcadm disable smb/server
$ pfexec rem_drv smbsrv
Invalid argument
Cannot remove major number binding for 262
$ pfexec add_drv smbsrv
$ pfexec svcadm enable smb/server
$ svcs
...
online 23:37:34 svc:/network/smb/server:default
$


○アカウントと共有設定


$ pfexec cp -p /etc/pam.conf /etc/pam.conf.org
(編集して確認。)
$ tail -1 /etc/pam.conf
other password required pam_smb_passwd.so.1 nowarn
$ pfexec passwd
passwd: Changing password for [ユーザ名]
New Password:
Re-enter new Password:
passwd: password successfully changed for XXXX
$
旧sambaは、smbpasswdだった気もするが、CIFSはどうやら上記設定(pam.confの書き換え)後に再度、passwordコマンドの実行で CIFS側にも登録されるようです。
snvのbuildが上がれば、このあたりの作業はなくなるんじゃないかな?と思う。


$ pfexec zfs create -o casesensitivity=mixed rpool/share
$ pfexec zfs set sharesmb=on rpool/share
$ pfexec zfs set sharesmb=name=share rpool/share
$ sharemgr show -vp
default nfs=()
zfs
zfs/rpool/share smb=()
share=/rpool/share
$
$ pfexec chmod 777 /rpool/share
createのオプションは特に調べずコピペです。mixedって何だ?
とりあえず、これで動きます。