なおすけの落書き帳

てきとーに。

Sambaの移行で手間取った話

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へ移行