省エネファイルサーバ構築 29 CentOS 5.6 sambaユーザにパスワード設定してwindowsから接続成功!!

なかなかwindows7からsambaに接続できないままですが、1つ気づきました。
以前、Linuxユーザからsambaユーザにコンバートした際の設定で、

新しく作られたユーザにはパスワードなし

For newly created users, set the password to: No password

最後の新しく作られたユーザにパスワード設定しないというのはよく意味が分からない。
sambaユーザとして作った場合ってことなのかな。
よくわからないのでデフォルトのままにしておく。

こんなのがありました。

これを見ていて思ったのですが、コンバートする時、ユーザのパスワードは設定されないのではないか?
ということです・・・。

なぜパスワードが設定されないのかというと、Linuxのユーザ名はそのままsambaに使えるとしても、パスワードをOSのどっかの設定から抜いてきてそのままsambaのパスワードとして使えるはずがないのでは?

と思ったからです。
パスワード抜けるんだったらセキュリティ上の問題が発生するのでは?と・・・。

なので、手動でパスワード設定してみます。

sambaユーザの編集画面から変更してみる。

Edit Samba User

ついでに "Password never expires" にして期限切れにならないようにしておきます。

しかし[Save]をクリックするとエラー

samba ユーザ編集エラー

Error
Access control violation : Failed to change password using smbpasswd : Failed to find entry for user ******. Failed to modify password entry for user ********

smbpasswdコマンドでパスワード変更できませんでした。
ユーザが見つかりませんでした。
ユーザのパスワードが変更できませんでした。

と言われてます。
原因がすぐにはわからないので、じゃあパスワード変更しなければユーザ設定を変更できるのか?
ということでパスワードは変更しないまま有効期限切れにならない設定だけやってみます。

と、思って編集しようと思ったら既に "Password never expires" にチェックが入ってました。
さっきの保存の時にこの設定だけは反映されてたんですね。
つまり失敗したのはパスワード変更だけ。

原因探るのも面倒なのでユーザを削除してコンバートする際に設定してみます。
削除は編集するユーザを選択した状態で[Delete]ボタンを。

削除が終わったら Convert Unix users to Samba users でやってみます。

ここで一番したの項目で "Use this password" を選択してパスワードを入れておきます。

Unix から samba ユーザ変換

そして[Convert Users]を。

そしてエラー。

ユーザ変換エラー

******* being added

Failed to convert user : Failed to set password

パスワードの設定に失敗。
うーーーーーんん。

ひょっとしてユーザ設定の同期のせいでsambaユーザに設定したことをos側にも反映しようとして失敗しているのでは?

ユーザ情報を変更することなんて無いから samba → osユーザ の同期を外してみる。
と思って同期の設定をみたら、samba → os なんて同期はなくて、os → samba される設定しかなかった。

もうわからないので直接コマンド打ってみる。

# smbpasswd -U *******
New SMB password:
Retype new SMB password:
Failed to find entry for user *******.
Failed to modify password entry for user *******

同じエラー。

わからないのでぼーっとsmb.confを眺めていると[global]のところにパスワードに関する設定が・・・。

passdb backend = tdbsam

ひょっとしてコイツがsmbpasswdじゃないからいけないのでは???
そう思ったので書き換えてみます

passdb backend = smbpasswd

sambaを再起動してユーザ編集でパスワードを設定してみる・・・と、エラーにならずに設定完了!!

ちゃんと設定されたか確認するためにsmbpasswdファイルを開いてみると・・・。

[ユーザ名]:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[UX ]:LCT-4E41B613:

だったものが

[ユーザ名]:500:[謎の文字列1]:[謎の文字列2]:[UX ]:LCT-4E41B613:

になってました。
これはパスワードが設定された感が・・・!!

そしてwindowsのエクスプローラからsambaにアクセスしてみる!!

と、認証ダイアログも出ずに空のフォルダを開いている風に!!!

エクスプローラからd525mwを開いた状態

たぶんディレクトリを何も公開していないからだっ!!
と思いたい。

確認のためにホームディレクトリを公開してみる。

webmin samba 設定トップ

Homesをクリックして編集画面へ。
公開させるのに必要そうな2つの設定を変更。

Available? : Yes
Browseable? : Yes

Homes のディレクトリ公開設定

そして[Save]を押してwindowsからみてみるッ!!!

Homesディレクトリが見えた状態

出たよ。Homes。
中に入れるかな?

homesに入れず

入れませんでした。エラー。
sambaのログは・・・

[2011/08/10 07:56:48, 0] smbd/service.c:make_connection_snum(1013)
  '/home/******' does not exist or permission denied when connecting to [******] Error was 許可がありません

です。

/home/ユーザ名 のディレクトリはあったので権限の問題のようです。
きっとどこかのサイトでSELinuxをOFFにしないとユーザディレクトリに入れないみたいなのを見た気がするのでソレでしょう。
使わないので無視。

homesの設定を元に戻して見えないようにしておきます。

さて、次回はHDDをつないで設定する!!最終回になるかな・・・

コメント