Samba → Solaris CIFS Service
最近のSolarisではCIFSサーバがカーネルに統合され、Sambaでのファイル共有相当の機能を実現できるようになっています。せっかくなのでSambaから移行してみることにしました。
自宅や小規模オフィスのファイルサーバとして使用することを想定して、導入手順を簡単にまとめてみます。OpenSolaris 2009.06 x86版で試しました。
主に以下のサイトを参考にしました。まだ日本語のまとまった情報はあまりないようです。
- Getting Started With the Solaris CIFS Service - Genunix
- Solaris CIFS Administration Guide - Sun Microsystems
シナリオ
自宅や小規模オフィスにありそうな以下のような環境を想定します。
手順
CIFS Service のインストール
1. su, sudo -s などでスーパーユーザになる。
2. smbsrvモジュールを削除する。
# rem_drv smbsrv
3. CIFS Service のパッケージをインストールする。
# pkg install SUNWsmbskr # pkg install SUNWsmbs
4. smbsrvモジュールをロードする。
# add_drv smbsrv
5. CIFS Service のSMFマニフェストをインポートする。
# svccfg import /var/svc/manifest/network/smb/server.xml
6. CIFS Service を起動する。
# svcadm enable -r smb/server
以下のようなエラーが出ることがありますが無視してかまいません。
svcadm: svc:/milestone/network depends on svc:/network/physical, which has multiple instances
ワークグループモードで構成する
1. ワークグループに参加する。
# smbadm join -w WORKGROUP
ワークグループ名はデフォルトで "WORKGROUP" になっているのでそれ以外の場合は変更してください。
2. PAMの設定を行う。
/etc/pam.conf に以下の内容を追加してください。
other password required pam_smb_passwd.so.1 nowarn
この設定を追加すると、passwd コマンドは自動的にCIFSに対応したパスワードを生成し /var/smb/smbpasswd に保存するようになります(Samba の smbpasswd コマンド相当の動作)。既存のユーザに対しては passwd コマンドを再度実行する必要があります。
3. ローカルユーザのパスワードを設定する。
# passwd username
CIFS共有の作成
共有を作成するにはzfsコマンドを使う方法と、sharemgrコマンドを使う方法があります。
ここでは、すでに rpool/export/share というZFSファイルシステムがあるものとして、zfsコマンドで共有を作成することにします。
以下のコマンドで、export-share という名前の共有が作成されます。
# zfs set sharesmb=on rpool/export/share
共有の名前を変更したい場合は以下のようにnameを指定します。
# zfs set sharesmb=name=share rpool/export/share
sharemgr show コマンドで、共有が作成されたことを確認できます。
$ sharemgr show -vp default nfs=() zfs zfs/rpool/export/share smb=() share=/export/share smb smb=()