Sambaの移行で手間取った話
CentOS7がリリースされてしばらくたちました。 ちょっと試しに使ってみたのですが、「これなんてFedora」という感想を抱かざるをえませんでした。
まあそんなことはどうでもいいですね
タイトルの話
某所でサーバを数台管理しています。 で、そこのサーバはCentOS5.6が動いていました。 さすがにハードウェアスペックの問題とか、バージョン的な問題とかがいろいろあったので、リプレイスすることになりました。 ちなみにOSはCentOS6.5に変わります。 皆さんご存知の通り、CentOS5系列とCentOS6系列だと色々と変わっています。 ええ、そこで思っきりこけました。 Apache HTTPDとか、そのへんはまあそんなに困りませんでしたが…。 タイトルに書いてる通り、Sambaで思いっきりこけました。 ちょっとめんどくさかったのでメモ。
Sambaとは
Sambaは、マイクロソフトのWindowsネットワークを実装したフリーソフトウェア。 Linux、Solaris、BSD、Mac OS XなどのUnix系OS を用いて、 Windows のファイルサーバやプリントサービス、ドメインコントローラ機能、ドメイン参加機能を提供する。
出典:Wikipedia
まあ、要するにWindowsでも使えるようなファイルサーバとその他もろもろの機能を持ったすごいやつということですね()。
CentOS5.xではSamba3.0.33がデフォルトで入ってるみたいですね。 CentOS6.xではSamba3.6.9が入ってるようです。
うちのサーバの話
旧サーバの設定ファイルは、2.xをベースに作られていました。 でも、新サーバのSambaは3.6…。 これが何を意味してるのかというと、まあお察しの通り、正しく動きませんでした。
問題発生
作業内容
旧サーバから新サーバに、とりあえずSambaの設定ファイルをすべてコピー。
具体的には/etc/samba/
以下をまるっとコピーしました。
で、smb.confに権限の設定や、ディレクトリマスクの設定などを書き写しました。
設定が書き終わったら、
# /etc/init.d/smb configtest # /etc/init.d/smb start
これで問題なくsmb
が起動しました。
ところがどっこい
ええ、ログインできなくなりました まあ、原因はあれですね。認証方法ですね。 Sambaさん、しばらくsmbpasswdを使ってたのに、tdbをつかって管理するようになったようで。 旧サーバはsmbpasswdを使っていたため、大変なことになりました。
解決策
ググったら一発でした。
tdbedit
コマンドを使えばいいらしいです。
旧smbpasswdファイルをsmbpasswd.old
とします
# /etc/init.d/smb stop # Sambaサービスの停止 # cd /var/lib/sammba/private # mv passwd.tdb passwd.tdb.orig # デフォルトファイルのバックアップ # mv /etc/samba/smbpasswd smbpasswd # 旧ファイルの移動 # pdbedit -i smbpasswd:smbpasswd % -e tdbsum:smbpasswd.tdb # smbpasswd形式をtdbsum形式に変換 # mv smbpasswd.tdb passwd.tdb # 正しいものにリネーム # /etc/init.d/smb start # Sambaサービスの起動
これでログインできるかテストすると… できたー!
まとめ
よかった♡
参考文献
- Sambaの認証をsmbpasswdからtdbへ移行