Samba に何が起きたのか?

  • 投稿日:
  • by
  • カテゴリ:

SnapCrab_araki_2012-1-23_23-26-40_No-00

Sambaは、自宅サーバの重要な機能の一つです。ノートなどのローカルドライブに保存してあるデータは、いつ、おじゃんになるかわからないので、重要性の高いデータは、Samba経由でサーバ上に保管し、サーバ上のデータは、rsyncを使って、玄箱上に、5世代のデイリーバックアップをかけています。

この、データの出入り口にあたるSambaは、つまり、とても重要なサーバの機能なのです。

が、Vine-6.0に更新した途端に、Sambaにアクセス出来なくなってしまいました。大ピンチなのです。結論からいえば、動かなくなった原因は二つありました。

  • authconfigが未初期化なままだった。
  • パスワード管理が smbpasswdファイルから、passwd.tdbに変更されていた。

Sambaは、パスワードへのアクセスに PAMを使います。PAMの設定を見ると、password-auth-acというファイルを参照しまくっていますが、これが存在していません。このファイルは、authconfigのパッケージに含まれています。

しかし、このパッケージを強制的に上書きインストールしても、何故か、password-auth-acは出来ません。結論から言うと、authconfigを一回、走らせてやる必要がありました。

authconfig-gtkを起動して、特に何もせずに、OKを押して閉じてしまえば、*-ac というファイル群が、/etc/pam.dのしたにできあがります。これが、必要なファイルになります。

この段階で、SWAT経由で、コンフィグファイルにアクセスは出来るようになります。が、依然、ディレクトリやファイルにはアクセス出来ないままです。

こちらは、smbpasswdからpasswd.tdbへ、ユーザをうつしてやらなければなりません。Vine-5.2までは、パスワードの管理は、smbpasswd ファイルで行われていましたが、Vine-6.0になって、突然、passwd.tdbに変更されていました。特に注意書きもなかったので、これに気づくまで、えらく時間がかかってしまいました。

# pdbedit -i smbpasswd:/var/lib/samba/private/smbpasswd -e tdbsam:/var/lib/samba/private/passdb.tdb

パスワードの移行は、たったこれだけで完了です。気づいてしまえば一瞬。しかし、わかるまでに、1-2時間はかかりましたよ。

まあ、何にしても、これで、Sambaが無事に使えるようになったのでとりあえずは、よしなのですが。